我只是在研究 traceroute 并试图理解它的行为。理论上我了解 IP 路由和 traceroute 的工作原理,但这种情况让我困惑。
traceroute to google.com.ar (172.217.162.3), 64 hops max, 52 byte packets
1 192.168.0.1 (192.168.0.1) 1.935 ms 1.367 ms 1.271 ms
2 10.38.0.1 (10.38.0.1) 9.717 ms 11.107 ms 13.901 ms
3 10.242.3.165 (10.242.3.165) 10.858 ms 11.663 ms 10.366 ms
4 cpe-200-115-194-173.telecentro-reversos.com.ar (200.115.194.173) 12.070 ms 11.944 ms 11.704 ms
5 cpe-200-115-194-174.telecentro-reversos.com.ar (200.115.194.174) 11.402 ms 12.110 ms 11.167 ms
6 74.125.242.209 (74.125.242.209) 13.539 ms 13.080 ms 11.767 ms
7 216.239.58.217 (216.239.58.217) 10.603 ms 11.635 ms 10.811 ms
8 eze04s07-in-f3.1e100.net (172.217.162.3) 11.510 ms 11.575 ms 10.955 ms
那里有一个私有 IP,10.38.0.1,我尝试跟踪路由和/或 ping 它。如果我的路由器在解析 172.217.162.3 时解析了该跃点,它应该将跃点本身解析为目的地
traceroute to 10.38.0.1 (10.38.0.1), 64 hops max, 52 byte packets
1 192.168.0.1 (192.168.0.1) 1.777 ms 1.481 ms 2.287 ms
2 * * *
3 * * *
没有什么
让我们尝试使用 traceroute -I 如下所述:
traceroute to 10.38.0.1 (10.38.0.1), 64 hops max, 72 byte packets
1 192.168.0.1 (192.168.0.1) 1.686 ms 1.218 ms 1.145 ms
2 * * *
3 * * *
两者都不...
这是怎么回事?
traceroute -v
Version 1.4a12+Darwin
连接:使用宽带路由器 Cisco DPC3925 将 LAN 连接到 WAN
答案1
那里有一个私有 IP,10.38.0.1,我尝试跟踪路由和/或 ping 它。如果我的路由器在解析 172.217.162.3 时解析了该跃点,它应该将跃点本身解析为目的地
不。首先,traceroute 实际上并不显示前一个路由器尝试解析的跳数;它显示的是此跳转标识自己,但并不总是相同的地址。(请注意,转发的 IP 数据包始终具有原始目标的 IP 地址,而不是每个跳跃的 IP 地址。)
每个跳点通过发送 ICMP“TTL 超出”错误数据包来标识自己,并需要为其选择合适的源地址。它将在不同的接口上有几个地址可供选择 - 包括各种面向 Internet 的接口以及管理网络 - 并且可能使用各种地址选择算法,例如“使用数字最小的地址”之类的简单算法。
简而言之,它肯定可以是前一跳没有任何路由的地址。
第二个问题(即使有是到该地址的完整路由)是两者都ping
通过traceroute
自愿发送响应。设备可能只是简单地回复 ping(ICMP 回显)关掉。或者它可能有防火墙,会丢弃您的 ping/traceroute 探测而不发送任何回复。(您尝试访问的地址看起来像是 ISP 内部用于管理网络的地址,因此很可能他们的防火墙只接受来自 ISP 自己的 NOC 的数据包,而不接受来自其他任何地方的数据包。