我正在學習電腦網絡,並尋找一種使用ping
命令模擬traceroute的方法。我認為這與 ttl 有關,但我不知道如何進一步開發。
答案1
有一種方法可以做到這一點。
在 Linux 或 Cygwin 中:
for i in {1..30}; do ping -t $i -c 1 google.com; done | grep "Time to live exceeded"
在 Windows 中:
for /l %i in (1,1,30) do @ping -i %i -n 1 google.com | find "TTL expired"
Amazon EC2 VPS 的範例輸出:
From 100.64.16.93 icmp_seq=1 Time to live exceeded
From 205.251.232.220 icmp_seq=1 Time to live exceeded
From 205.251.232.202 icmp_seq=1 Time to live exceeded
From 205.251.232.75 icmp_seq=1 Time to live exceeded
From 205.251.225.181 icmp_seq=1 Time to live exceeded
From 72.14.219.251 icmp_seq=1 Time to live exceeded
From 209.85.249.32 icmp_seq=1 Time to live exceeded
From 216.239.51.159 icmp_seq=1 Time to live exceeded
在這種情況下,Ping 是不允許的,這就是超時的原因。