如何在 Gmail 中找出电子邮件发件人的 IP 地址

信息安全 电子邮件 远程服务器
2021-08-09 18:36:13

出于安全原因,Gmail 不会在其邮件标头中提供发件人的 IP 地址。我想知道是否有其他方法可以获取发件人的 IP 地址。

由于 Gmail 指定了发件人首先联系的电子邮件中继服务器的 IP 地址,有没有办法通过指定该电子邮件的唯一 Message-ID 来查询中继服务器以获取发件人的 IP 地址?如果是这样,请解释它是如何完成的。如果没有,还有其他获取 IP 地址的方法吗?

4个回答

没有技术方法可以获取通过 gmail Web 界面发送电子邮件的人的 IP 地址。Google 不会将其放入电子邮件标题中。并且没有 API 可以查询 gmail。

如果您出于正当理由确实需要该 IP 地址,则需要获得法院命令。

如果您可以将电子邮件发送回原始发件人并让他们单击电子邮件中的链接,则可以通过某种社会工程来完成此操作。

您需要建立一个网站来记录访问者的 IP 地址,然后以某种方式让向您发送该电子邮件的人访问您的网站。这可能涉及向他们发送电子邮件并希望他们阅读电子邮件并单击其中的链接。

一种相关的方法是向他们发送一封 HTML 电子邮件,其中包含托管在您网站上的内嵌图像。但是,大多数电子邮件客户端默认情况下不会加载链接图像,这正是为了保护用户的隐私。因此,在大多数情况下,这将不起作用(除非该人恰好覆盖了其电子邮件客户端中的默认设置)。

因此,更现实的做法是向他们发送一封包含链接的电子邮件,并希望他们点击该链接。

记录访问者 IP 地址的示例 PHP 代码(来自http://www.binrev.com/forums/index.php/topic/20288-php-ip-logger/):

<?php
header('Content-type: image/jpeg');
readfile('image.jpg');
$filename = "logged.txt";
   $somecontent = "Connection from:".$_SERVER['REMOTE_ADDR']." at ".date("r",time())."\n";
   if ($handle = fopen($filename, 'a')) {
           fwrite($handle, $somecontent)
           fclose($handle);
   }
?>

GMail 确实在其邮件标头中发送 IP 地址:检查 X-Originating-IP 标头。

要在 Gmail 网络界面中查看电子邮件的完整标题,您需要从右侧的下拉“更多”操作菜单中选择“显示原始”。发件人详细信息旁边的“显示详细信息”按钮仅提供子集信息,而不是完整的标题。

我测试了从 gmail 界面发送消息,发现没有 X-Originating-IP 或任何提供任何发件人 IP 详细信息的标头。这并不奇怪。请注意,X-* 标头是可选标头,SMTP 协议不需要。

即使消息中有发件人 IP 信息,它也基本上没有用。如果您尝试使用它来追踪某人,情况尤其如此。从本质上讲,您是在浪费时间。

  1. 许多用户没有静态 IP 地址。ISP 从可用 IP 池中分配 IP 地址。

  2. 许多站点使用 NAT 和其他映射技术,以便其内部网络上的所有主机都具有不可路由的私有 IP 地址(即 192.168.1.9),但有一个公共的可路由 IP 地址。

  3. 用户可以从任何具有网络浏览器的互联网连接系统访问 Gmail,例如网吧、公共无线网络等。

  4. 许多网络连接通过代理。从 Gmail 的角度来看,客户端连接的 IP 是代理 IP,而不是发件人 PC 的 IP

  5. 伪造IP地址相当简单

即使是遵循法律程序的建议,例如强制 Gmail 提供日志信息等的法院命令,也是浪费时间。虽然经过大量的努力和可能的巨大成本,您也许能够获得这些信息,但这在很大程度上是没有意义的。归根结底,任何人都可以使用任何名称获得 Gmail 帐户。你不需要证明你是谁。几乎无法保证 Gmail 用户就是他们声称的那个人。许多邮件提供商都是这种情况,而不仅仅是 Gmail。整个邮件环境以这种方式存在固有缺陷,您无法转发或保证有关发件人详细信息或邮件标题的任何内容。正如老漫画所描绘的那样,“在互联网上,没有人知道你是条狗”。

如果您收到来自 Gmail 用户的辱骂性电子邮件,最好的做法是向 Gmail 举报。他们通常非常擅长关闭任何滥用该服务的人的帐户。当然,不能保证此人确实是 Gmail 用户——如前所述,整个电子邮件生态系统存在缺陷,让邮件看起来像是来自某人是微不足道的。

除此之外,您所能做的就是忽略它。过滤掉有问题的发件人,或者只是点击删除并继续。