首页/安全/取证与溯源速查/邮件头 Received 链分析

邮件头 Received 链分析

邮件头自下而上是投递路径:逐跳核对 Received、SPF/DKIM 认证结果与发信时间,判断伪造与真实来源。

取证与溯源速查安全更新于 2026-10-13

邮件头字段追溯是什么

邮件头用 Received 链记录投递路径,Return-Path 给出信封发件人,Authentication-Results 记录收信网关对发件人认证的判定结果,Message-ID 用于跨系统关联。钓鱼邮件排查的核心,就是把这些字段与网关日志的时间点对齐。

基本信息

用途钓鱼邮件的来源判定与投递路径还原
关键字段Received 链、Return-Path、Authentication-Results、Message-ID
解析方式邮件客户端原文显示、文本工具、专用解析脚本
注意顶层字段可伪造,认证判定要看收信网关那一跳

典型使用场景

  • 判断邮件的真实来源与经过的服务器
  • 核对信封发件人与显示发件人是否一致
  • 查看发件人认证的判定结果
  • 用 Message-ID 在网关日志里追踪同批邮件
  • 提取附件与链接用于进一步分析
  • 统计同批发件人的收件人数量,判断是否为批量钓鱼
  • 核对邮件客户端与网关两侧时间,确认用户是否收到后立即点击

解析

解析
grep -E '^(Received|Return-Path|Authentication-Results|From|Reply-To):' mail.eml | head -30
grep -c '^Received:' mail.eml                            # 跳数,越多说明中转越多
grep -E '^Authentication-Results' mail.eml               # 认证判定结果
grep -E '^(Content-Type|Content-Disposition|filename=)' mail.eml | head
# Received 自上而下是从最后到最早,读投递路径要自下而上看

字段与判读

字段含义判读要点
Received跳数与经过的服务器顶层可伪造,需与网关日志核对
Return-Path信封发件人与显示发件人不一致是常见钓鱼特征
Reply-To回复地址指向陌生域时需警惕
Authentication-Results认证判定结果判定失败但仍投递说明策略宽松
Message-ID邮件唯一标识用于在网关日志里关联同批邮件
顶层 Received 由发件方填写、可以伪造。判断真实来源要结合收信网关添加的那几跳与其日志时间。
时区偏移容易读错投递时间:同一封邮件里不同服务器可能用不同时区标注,换算到统一时区再排序。
把从邮件里提取的地址、域名与附件哈希整理成清单交给其他团队,比逐个转发邮件能更快推进横向排查。

易错点

  • 只看显示发件人就下判断,未比对回复地址与信封发件人
  • 把顶层 Received 当可信来源,缺少与网关日志的核对
  • 忽略时区偏移把投递时间读错,整条时间线随之偏移
  • 只在邮件里看附件,不与收件端落地文件、网关日志交叉验证

数据来源与参考

  • RFC 5321(投递路径)
  • RFC 7208(SPF)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌