本頁使用了標題或全文手工轉換

ping

維基百科,自由的百科全書
跳至導覽 跳至搜尋

ping(呯)是一種電腦網路工具,用來測試封包能否透過IP協定到達特定主機。ping的運作原理是向目標主機傳出一個ICMP的請求回顯封包,並等待接收回顯回應封包。程式會按時間和成功回應的次數估算遺失封包率(丟包率)和封包往返時間(網路時延,Round-trip delay time)。

在1983年12月,Mike Muuss編寫了首個這樣的程式,用於在IP網路出現問題時方便探查其根源。因為這個程式的運作原理與潛水艇的主動聲納相似,他便用聲納的聲音來為程式取名。David L. Mills曾提出另一個取名:Packet Internet Grouper/Gopher(後者指地鼠)。

網路管理員之間也常將ping用作動詞,如「ping一下電腦XXX,看它是否開著。」

例子[編輯]

Linux系統下的範例[編輯]

具有iputils的Linux系統內的ping:

root@localhost:~# ping www.wikipedia.org
PING www.wikipedia.org (198.35.26.96): 56(84) data bytes
64 bytes from text-lb.ulsfo.wikimedia.org (198.35.26.96): seq=1 ttl=53 time=198.6 ms
64 bytes from text-lb.ulsfo.wikimedia.org (198.35.26.96): seq=2 ttl=53 time=199.2 ms
64 bytes from text-lb.ulsfo.wikimedia.org (198.35.26.96): seq=3 ttl=53 time=198.5 ms
64 bytes from text-lb.ulsfo.wikimedia.org (198.35.26.96): seq=4 ttl=53 time=199.2 ms
64 bytes from text-lb.ulsfo.wikimedia.org (198.35.26.96): seq=5 ttl=53 time=198.5 ms
64 bytes from text-lb.ulsfo.wikimedia.org (198.35.26.96): seq=6 ttl=53 time=199.2 ms
64 bytes from text-lb.ulsfo.wikimedia.org (198.35.26.96): seq=7 ttl=53 time=198.6 ms
64 bytes from text-lb.ulsfo.wikimedia.org (198.35.26.96): seq=8 ttl=53 time=199.3 ms
64 bytes from text-lb.ulsfo.wikimedia.org (198.35.26.96): seq=9 ttl=53 time=198.7 ms
64 bytes from text-lb.ulsfo.wikimedia.org (198.35.26.96): seq=10 ttl=53 time=198.4 ms
^C
--- www.wikipedia.org ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9021ms
rtt min/avg/max/mdev = 198.402/198.866/199.334/1.536 ms

有時在ping的返回資訊裡面會顯示「DUP!」,表明存在環路,例如:

64 bytes from 10.0.0.1: icmp_seq=10 ttl=62 time=10.2 ms
64 bytes from 10.0.0.1: icmp_seq=10 ttl=62 time=11.8 ms (DUP!)
64 bytes from 10.0.0.1: icmp_seq=10 ttl=62 time=12.6 ms (DUP!)
64 bytes from 10.0.0.1: icmp_seq=10 ttl=62 time=13.2 ms (DUP!)
64 bytes from 10.0.0.1: icmp_seq=11 ttl=62 time=11.9 ms
64 bytes from 10.0.0.1: icmp_seq=11 ttl=62 time=13.3 ms (DUP!)
64 bytes from 10.0.0.1: icmp_seq=11 ttl=62 time=14.3 ms (DUP!)
64 bytes from 10.0.0.1: icmp_seq=12 ttl=62 time=12.1 ms

Windows系統下的範例[編輯]

Windows XP內置的ping:

C:\> ping www.google.com
Pinging www.l.google.com [64.233.183.103] with 32 bytes of data:
Reply from 64.233.183.103: bytes=32 time=25ms TTL=245
Reply from 64.233.183.103: bytes=32 time=22ms TTL=245
Reply from 64.233.183.103: bytes=32 time=25ms TTL=246
Reply from 64.233.183.103: bytes=32 time=22ms TTL=246
Ping statistics for 64.233.183.103:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 22ms, Maximum = 25ms, Average = 23ms

其中

Pinging www.l.google.com [64.233.183.103] with 32 bytes of data:

www.google.comwww.l.google.com DNS別名,IP位址是64.233.183.103。以32 bytes大小測試,可以以-l(Windows)參數更改,大小是1-65500

Reply from 64.233.183.103: bytes=32 time=25ms TTL=245
Reply from 64.233.183.103: bytes=32 time=22ms TTL=245
Reply from 64.233.183.103: bytes=32 time=25ms TTL=246
Reply from 64.233.183.103: bytes=32 time=22ms TTL=246

反應時間25毫秒,TTL(Time To Live)值為245 由上來看,到google通過255-245 = 10個路由

Ping statistics for 64.233.183.103:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 22ms, Maximum = 25ms, Average = 23ms

總計,最小22ms,最大25ms,平均23ms。

windows下若是ping命令不加任何參數,一次只返回4個封包,如果希望持續ping某個IP,可以在ping ip位址後加上-t,想終止可以按下ctrl+c,如下所示:

C:\> ping www.baidu.com -t

正在 Ping www.a.shifen.com [112.80.248.75] 具有 32 字节的数据:
来自 112.80.248.75 的回复: 字节=32 时间=10ms TTL=56
来自 112.80.248.75 的回复: 字节=32 时间=9ms TTL=56
来自 112.80.248.75 的回复: 字节=32 时间=10ms TTL=56
来自 112.80.248.75 的回复: 字节=32 时间=9ms TTL=56
来自 112.80.248.75 的回复: 字节=32 时间=9ms TTL=56
来自 112.80.248.75 的回复: 字节=32 时间=9ms TTL=56
...............

相關條目[編輯]

外部連結[編輯]