假设我跟踪路由到地址 A:24.205.224.36
跟踪路由的开始部分如下所示:
$ traceroute -d 24.205.224.36
traceroute to 24.205.224.36 (24.205.224.36), 64 hops max, 52 byte packets
1 192.168.1.1 (192.168.1.1) 4.799 ms 12.566 ms 0.766 ms
2 10.101.58.1 (10.101.58.1) 8.915 ms 7.186 ms 8.070 ms
3 dtr01thdlor-tge-0-1-0-1.thdl.or.charter.com (96.34.105.152) 8.810 ms 9.118 ms 14.246 ms
4 acr01thdlor-tge-3-1.thdl.or.charter.com (96.34.104.235) 7.578 ms 7.420 ms 7.702 ms
但当我尝试跟踪路由到地址 B:192.168.1.1 时,我得到的只是 * * *:
$ traceroute -d 192.168.1.1
traceroute to 192.168.1.1 (192.168.1.1), 64 hops max, 52 byte packets
1 * * *
2 * * *
尽管地址 B 位于通向地址 A 的路径上,但情况仍然如此。
为什么 A 在去往 B 的路上可达,但却无法直接到达?
令人困惑。
这是我正在使用的 traceroute 版本:
$ traceroute -v
Version 1.4a12+Darwin
Usage: traceroute [-adDeFInrSvx] [-A as_server] [-f first_ttl] [-g gateway] [-i iface]
[-M first_ttl] [-m max_ttl] [-p port] [-P proto] [-q nqueries] [-s src_addr]
[-t tos] [-w waittime] [-z pausemsecs] host [packetlen]
答案1
我认为这取决于您的默认网关/第一跳的设备。使用traceroute -I 192.168.1.1
ICMP 而不是默认的 UDP。那么它可能会起作用。