电子邮件标头中的 IP 地址是否包含来自发送邮件的设备或邮件服务器的信息?
电子邮件标头 IP 地址
通常,邮件在其上传输的每台机器:
- 添加一个
Received:
标题,说明电子邮件似乎来自哪里; - 向下一台机器宣布其名称(可能是 IP 地址),该机器可能会或可能不会在自己的
Received:
标头中包含该信息。
以下是我每天收到的 100 多封垃圾邮件中的一个示例:
X-Original-To: pornin@bolet.org
Delivered-To: pornin@bolet.org
Received: from davisandsons.net (213-238-65-230.adsl.inetia.pl [213.238.65.230])
by arges.bolet.org (Postfix) with ESMTP id 7951068C0D4
for <pornin@bolet.org>; Fri, 7 Oct 2011 21:49:22 +0200 (CEST)
Received: from apache by davisandsons.net with local (Exim 4.67)
(envelope-from <minusculesxdl3@kurdogluholding.com.tr>)
id XD1AV6-73T5L6-H9
for <pornin@bolet.org>; Fri, 7 Oct 2011 20:46:35 +0100
To: <pornin@bolet.org>;
Subject: Re:web site
(...)
标题行以“相反的顺序”添加:每个邮件服务器将其行添加到标题的开头。所以在这里我的邮件服务器(arges.bolet.org)收到了一个邮件连接,在 SMTP 级别,该邮件是发给我的(通过连接,另一台机器发送:)RCPT TO: pornin@bolet.org
。作为 SMTP 协议的一部分,该机器首先发送了一个HELO
命令,其中它声称是“davisandsons.net”;我的邮件服务器查看了源 IP 地址 (213.238.65.230) 并对其进行了反向 DNS 解析,产生“213-238-65-230.adsl.inetia.pl”(来自波兰的 ISP)。事实证明,“davisandsons.net”可以解析到一个完全不同的 IP 地址,名义上来自英格兰。
第一个Received:
标头是我的邮件服务器添加的,因此值得信赖。然而,下一行和所有后续行是由那台波兰机器按原样发送的,该机器通过声称它在英国开始对话,这是一个公然的谎言,因此不是建立相互信任的最佳方式。该标题可能完全是假的。假设它不是伪造的,它将表明邮件来自本地机器,由一个名为“apache”的用户发出。可能的情况是:波兰某个穷人的家用 PC 是受感染的僵尸,它会中继垃圾邮件。感染可能是通过该机器上配置不当的 Apache Web 服务器开始的。
(Spamassassin 对特定垃圾邮件的评分高达 20.5 分,而我自动以 5.0 分或更高的分数删除传入的电子邮件。)
投递链中的每个邮件服务器通常都会添加一行类似于
Received: from [sender-name] ([sender-ip])
by [server-name] ([server-ip]);
with SMPT; Fri, 7 Oct 2011 03:15:30 +0200
格式未指定,并且会有所不同。
在传输过程中暴露以前的邮件服务器很常见,因为它有助于对抗垃圾邮件。
但是出于隐私和安全原因,通常不希望公开第一个发件人。因此,某些邮件提供商将其从标头中省略,而其他邮件提供商将原始发件人视为任何其他来源。
附带说明:“已接收”标题可以伪造,因此您始终必须从顶部开始阅读它们并仔细验证它们。
该选择完全取决于设备与之通信的服务器。它可能包含一个Received
标头,其中包含用于识别设备的信息,例如其 IP 地址。但它也可以根本不包含这样的标题。它完全是一个实现选项。
从逻辑上讲,这取决于您认为是设备还是服务器发起了电子邮件。例如,基于 Web 的服务(如 GMail)通常认为服务器是电子邮件的发起者,因此不包括识别设备的信息。由 IMAP 和 POP 访问的更传统的电子邮件服务通常确实认为是终端设备发起了电子邮件。
它将包括您设备的 IP 地址(更具体地说,是从您的工作站转发数据包的路由器的地址),以及从中转发数据包的所有邮件服务器。