无法追踪到特定网关 IP 的数据包

无法追踪到特定网关 IP 的数据包

我尝试将 OSX 主机 A 设为 Linux 主机 B 的特定网关。B 的默认网关条目已被删除,并按如下方式添加特定网关。注意:98.136.144.138是“search.yahoo.com”域名的 IP 地址。主机 A 可以正常访问 search.yahoo.com。A 的 IP 是10.192.29.246,B 的 IP 是10.192.13.160

在此处输入图片描述

当主机B浏览器刷新 的ip时98.136.144.138,网页如预期显示。但是Wireshark无法捕获任何数据包,说明来自主机B的数据包首先到达网关主机A,然后主机A路由这些数据包。为什么信息没有显示?

  • Wireshark 在主机 B 中捕获的数据包如下。在我添加特定路由并98.136.144.138在主机 B 的浏览器中刷新 Yahoo 搜索后,图片中线下方的数据包出现了。但没有关于特定网关(主机 A)的数据包的信息。如果需要,如何将数据包发送到网关?

在此处输入图片描述

  • 主机 B 中的命令返回结果traceroute 98.136.144.138如下。为什么第一行是旧的默认网关 10.255.255.1 而不是主机 A 的特定网关。主机 A 的 IP10.192.29.246甚至没有显示。

在此处输入图片描述

如果在浏览“Yahoo 搜索”页面时,我们无法根据路由表跟踪或捕获从主机 B 到特定网关(主机 A)的数据,我们如何知道主机 B 是否真的通过主机 A 到达“Yahoo 搜索”页面?路由规则在路由表上,但我们需要真正了解这一点。任何帮助都将不胜感激。

更新:下面添加Wireshark的二层信息。10.192.26.24现在是主机B的ip地址,因为重启了(但主机A还在10.192.29.246)。第一个数据包被发送到00:00:5e:00:01:02属于已删除的默认网关的MAC地址10.192.0.1。但它怎么还会被发送到已删除的网关呢?所有后续数据包都不包含主机A的MAC地址。 在此处输入图片描述

在此处输入图片描述

更新:并附有一张图表来说明我的目的。 在此处输入图片描述 我不确定这是否正确?今天当我重试此操作时,主机 B98.136.144.138最初可以访问,Wireshark 捕获了一些有关“重定向”的信息。这是主机 A 和主机 B 之间的真实通信。 在此处输入图片描述

然而过了一段时间就很奇怪了,主机B竟然无法访问了98.136.144.138,但是Wireshark捕获到主机B确实通过以太网II层向主机A发送了数据包,而不是向原来被删除的默认网关发送。 在此处输入图片描述

答案1

您的 tcpdump / wireshark 显示的是第 3 层 (IP) 地址。与网关的通信发生在第 2 层 (以太网)。

您应该展开红线下方的一个(任意一个)数据包,并将该帧的源 MAC 地址和目标 MAC 地址与两个主机进行比较。如果一切正常,其中一个将是源主机(主机 B),另一个应该是网关(主机 A)的 MAC 地址。

数据包通过网络和路由器时,其源 IP 地址和目标 IP 地址不会改变,但包装以太网(或其他第 2 层)帧的 MAC 地址在该行程的每一段中都会有所不同。

关于跟踪路由,您可能可以查找一种方法来配置 OS-X 系统以发送 ICMP 错误,以便 OS-X 主机出现在跟踪路由中,但不清楚这是否会进一步实现您的基本目标。

相关内容