有些电子邮件的标题类似于“已收到:来自 [172.16.1.2] (some.public.ip.address)”,这是为什么?为什么 NAT 后面某人的发件人客户端会泄露私有地址?
EEA*_*EAA 12
因为这就是 SMTP 的设计方式,以及发送电子邮件系统的配置方式。
有多种方法可以抑制此信息,但需要明确配置发送邮件系统来执行此操作。
Received: from [172.16.1.2] (some.public.ip.address)"
正如您在评论中提到的,这个特定位置的私有 IP 是因为它是作为HELO
命令中的客户端主机名发送的。
对于正确的邮件服务器,该HELO
命令应包括其完全限定的主机名,该主机名也应与 DNS 匹配。对于入站电子邮件,许多服务器实际上会验证 HELO 主机名以确保其有效且 DNS 匹配。对于发送电子邮件,只要您经过身份验证,服务器通常会接受任何内容(您不能指望最终用户都在他们的机器上配置了真实有效的主机名)。
对于像 Outlook 这样的 SMTP 客户端,它们可以发送您的机器名称,但这不是完全限定的,并且可能不理想,具体取决于机器的名称。例如,您经常会看到如下标题:
Received: from DESKTOP9U6J0BC (unknown)
Run Code Online (Sandbox Code Playgroud)
使用 IP 地址可能会提供更多的隐私,因为有些人可能会争辩说172.1.2.3
在标头中看到比MIKES-MACBOOK
或更好CEO-WORKSTATION
。
归根结底,客户端只需要在 HELO 命令中提供一些合理的东西,一些客户端选择 IP 地址。
这与其他答案所讨论的略有不同,其他答案与使用私人地址在组织内部传输电子邮件的实际 SMTP 服务器有关。