ping命令是用於排除故障,測試和診斷網絡鏈接問題的最經常使用的命令之一。html
Ping經過將一個或多個ICMP(Internet控制消息協議)Echo請求包發送到指定目標IP並等待回覆來工做。當目標IP收到包時,它將響應ICMP回覆。linux
使用ping命令,咱們能夠肯定遠程目標IP是處於活動狀態仍是非活動狀態,找到與目標通訊的往返延遲並檢查是否存在數據包丟失。json
ping命令是iputils(或iputils-ping)程序包的一部分,該程序包已預先安裝在絕大多數Linux發行版上。ping命令也可用於Windows,MacOSX和FreeBSD。微信
ping [參數] [主機名或IP地址]
markdown
ping命令用於:肯定網絡和各外部主機的狀態;跟蹤和隔離硬件和軟件問題;測試、評估和管理網絡。若是主機正在運行並連在網上,它就對回送信號進行響應。每一個回送信號請求包含一個網際協議(IP)和 ICMP 頭,後面緊跟一個 tim 結構,以及來填寫這個信息包的足夠的字節。缺省狀況是連續發送回送信號請求直到接收到中斷信號(Ctrl-C)。網絡
ping 命令每秒發送一個數據報而且爲每一個接收到的響應打印一行輸出。ping 命令計算信號往返時間和(信息)包丟失狀況的統計信息,而且在完成以後顯示一個簡要總結。ping 命令在程序超時或當接收到 SIGINT 信號時結束。Host 參數或者是一個有效的主機名或者是因特網地址。oop
-c 數目:在發送指定數目的包後中止。 測試
> ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=106 time=255.389 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=106 time=253.781 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=106 time=258.403 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=106 time=255.721 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=106 time=255.086 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=106 time=255.165 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=106 time=253.948 ms
...
複製代碼
> ping 8.8.9.9
PING 8.8.9.9 (8.8.9.9): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
Request timeout for icmp_seq 5
Request timeout for icmp_seq 6
...
複製代碼
> ping -c 10 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=106 time=256.369 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=106 time=255.471 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=106 time=255.381 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=106 time=255.038 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=106 time=260.055 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=106 time=255.733 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=106 time=254.986 ms
64 bytes from 8.8.8.8: icmp_seq=7 ttl=106 time=254.084 ms
64 bytes from 8.8.8.8: icmp_seq=8 ttl=106 time=255.902 ms
64 bytes from 8.8.8.8: icmp_seq=9 ttl=106 time=256.121 ms
--- 8.8.8.8 ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 254.084/255.914/260.055/1.513 ms
複製代碼
> ping -c 10 -i 0.5 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=106 time=255.032 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=106 time=256.937 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=106 time=255.129 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=106 time=256.560 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=106 time=264.229 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=106 time=254.791 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=106 time=254.212 ms
64 bytes from 8.8.8.8: icmp_seq=7 ttl=106 time=254.998 ms
64 bytes from 8.8.8.8: icmp_seq=8 ttl=106 time=255.029 ms
64 bytes from 8.8.8.8: icmp_seq=9 ttl=106 time=255.559 ms
--- 8.8.8.8 ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 254.212/256.248/264.229/2.771 ms
複製代碼
> ping -c 5 json.im
PING json.im (150.109.147.28): 56 data bytes
64 bytes from 150.109.147.28: icmp_seq=0 ttl=48 time=28.733 ms
64 bytes from 150.109.147.28: icmp_seq=1 ttl=48 time=28.412 ms
64 bytes from 150.109.147.28: icmp_seq=2 ttl=48 time=28.012 ms
64 bytes from 150.109.147.28: icmp_seq=3 ttl=48 time=31.498 ms
64 bytes from 150.109.147.28: icmp_seq=4 ttl=48 time=30.518 ms
--- json.im ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 28.012/29.435/31.498/1.341 ms
複製代碼
> ping -i 1 -s 1024 -t 123 json.im
PING json.im (150.109.147.28): 1024 data bytes
1032 bytes from 150.109.147.28: icmp_seq=0 ttl=48 time=29.613 ms
1032 bytes from 150.109.147.28: icmp_seq=1 ttl=48 time=28.530 ms
1032 bytes from 150.109.147.28: icmp_seq=2 ttl=48 time=32.768 ms
1032 bytes from 150.109.147.28: icmp_seq=3 ttl=48 time=29.014 ms
1032 bytes from 150.109.147.28: icmp_seq=4 ttl=48 time=30.239 ms
1032 bytes from 150.109.147.28: icmp_seq=5 ttl=48 time=27.815 ms
1032 bytes from 150.109.147.28: icmp_seq=6 ttl=48 time=31.311 ms
1032 bytes from 150.109.147.28: icmp_seq=7 ttl=48 time=34.554 ms
1032 bytes from 150.109.147.28: icmp_seq=8 ttl=48 time=41.600 ms
1032 bytes from 150.109.147.28: icmp_seq=9 ttl=48 time=29.513 ms
1032 bytes from 150.109.147.28: icmp_seq=10 ttl=48 time=28.320 ms
1032 bytes from 150.109.147.28: icmp_seq=11 ttl=48 time=29.449 ms
1032 bytes from 150.109.147.28: icmp_seq=12 ttl=48 time=29.127 ms
1032 bytes from 150.109.147.28: icmp_seq=13 ttl=48 time=28.583 ms
1032 bytes from 150.109.147.28: icmp_seq=14 ttl=48 time=28.064 ms
複製代碼
-i 3 發送週期爲 3秒 -s 設置發送包的大小爲1024 -t 設置TTL值爲 255spa
默認狀況下,ping將經過默認路由發送ICMP包。若是您的計算機上有多個接口,則可使用如下-I選項指定源接口:code
> ping -I eth0 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 192.168.0.3 eth0: 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=2 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=109 time=200 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=7 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=9 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=10 ttl=109 time=201 ms
...
複製代碼
下面的命令將執行ping 8.8.8.8使用eth0做爲源接口
運行ping命令時,它將使用IPv4或IPv6,具體取決於您的計算機DNS設置。
ping -4 DESTINATION
ping -6 DESTINATION
強制ping使用IPv4傳遞-4選項或使用其別名ping4。對於IPv6傳遞-6選項或使用ping6。
> ping -4 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=2 ttl=109 time=200 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=109 time=200 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=109 time=200 ms
64 bytes from 8.8.8.8: icmp_seq=8 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=13 ttl=109 time=200 ms
64 bytes from 8.8.8.8: icmp_seq=16 ttl=109 time=201 ms
64 bytes from 8.8.8.8: icmp_seq=17 ttl=109 time=200 ms
64 bytes from 8.8.8.8: icmp_seq=19 ttl=109 time=200 ms
64 bytes from 8.8.8.8: icmp_seq=21 ttl=109 time=201 ms
...
複製代碼
原文連接:rumenz.com/rumenbiji/l… 微信公衆號:入門小站