2016-11-20 300 views
0

我現在有一個shell腳本,它只是需要一個URL作爲參數,然後發送ping請求到它,如下所示:如何在ping網站(bash)時指定使用哪種協議(IPv4或IPv6)?

ping -c 5 $1 

,要求我來ping使用IPv4和IPv6在可能的部位,然後我會比較結果。我已經閱讀了ping的手冊頁,並且看不到指定要使用哪種協議的標誌,我期待它接受IPv4的標誌-4和IPv6的-6,但似乎並非如此。

我遇到了DNS查找工具這看起來很有希望,但還沒有成功地實現它在我的代碼。我的腳本必須將一個URL作爲參數,而不是其他參數。我希望這是清楚的,並感謝您的幫助。

+0

我的''ping'能理解'-4'和'-6',Arch Linux和Cygwin在Windows上。 – dav1d

+0

你應該也有'ping6' –

+0

謝謝保羅我不知道這個命令 – user546482872

回答

1

使用pingping6在大多數發行版中都可用。

/tmp $ dig google.com A google.com AAAA +short 
172.217.4.174 
2607:f8b0:4007:801::200e 

/tmp $ ping -c 2 172.217.4.174 
PING 172.217.4.174 (172.217.4.174): 56 data bytes 
64 bytes from 172.217.4.174: icmp_seq=0 ttl=53 time=35.619 ms 
64 bytes from 172.217.4.174: icmp_seq=1 ttl=53 time=34.220 ms 

/tmp $ ping6 -c 2 2607:f8b0:4007:801::200e 
PING6(56=40+8+8 bytes) 2602:306:b826:68a0:f40e:abca:efdb:71f --> 2607:f8b0:4007:801::200e 
16 bytes from 2607:f8b0:4007:801::200e, icmp_seq=0 hlim=55 time=77.735 ms 
16 bytes from 2607:f8b0:4007:801::200e, icmp_seq=1 hlim=55 time=81.518 ms 
+0

感謝helloV爲我的注意力帶來ping6,我會接受你的答案一旦堆棧溢出讓我 – user546482872