12 个 Ping 命令示例来测试您的网络

Ping是一個簡單、廣泛使用的跨平台網路工具,用於測試主機在網際網路協議IP)網路上是否可達。它通過向目標主機發送一系列網際網路控制訊息協議ICMPECHO_REQUEST訊息,然後等待ICMP回應(或ECHO_RESPONSE)來工作。

您可以運行 ping 測試以確定您的電腦是否能與另一台電腦(目標主機)通信;它可幫助您確定:

  • 目標主機是否可達(活動中)或不可達。
  • 測量封包從您的電腦傳送到目標主機並返回的時間(與目標主機通信的往返時間(rtt))和
  • 封包丟失以百分比表示。

其輸出是來自目標主機的回應列表,以及最後一個封包到達目標主機並返回您的電腦所花費的時間。

它還顯示測試的統計摘要,通常包括發送和接收的封包數量,封包丟失的百分比;最小值,最大值,平均往返時間和平均值的標準偏差(mdev)。如果 ping 測試失敗,您將看到錯誤訊息作為輸出。

Linux 中的 Ping 命令示例

在本文中,我們將解釋用於測試網絡上主機可達性的 12 個實用 ping 命令 示例。

1. Ping 域名或 IP 位址

您可以運行一個簡單的 ping 測試,以查看目標主機 www.google.com 是否可連通。您也可以使用 IP 位址而非域名,如下所示。

$ ping www.google.com
OR
$ ping 172.217.27.196

範例輸出:

ping www.google.com
PING www.google.com (172.217.27.196) 56(84) bytes of data.
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.01 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.75 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.37 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=4.99 ms
^C
--- www.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 4.751/5.030/5.373/0.222 ms
...

根據上述命令的結果,ping 成功,且沒有遺失任何封包。在 ping 測試輸出中,一個重要的注意事項是每個 ping 回覆的時間。

假設您正在對您的伺服器進行 ping 測試,那麼這裡的數值非常重要,取決於您在伺服器上執行的應用類型。

例如,如果您有一個網絡應用程式,其中一個單一的用戶請求會導致對數據庫的多個查詢,以在 UI 上生成結果,那麼對該特定伺服器的 ping 時間較低意味著更多數據在沒有延遲的情況下傳輸,反之亦然。

2. Ping 回應請求

你可以使用 -c 標誌來指定在發送 5 個封包後結束 ping 測試(在這種情況下,ping 測試將在發送 ECHO_REQUESTs 後退出)。

$ ping -c 5 www.google.com

PING www.google.com (172.217.27.196) 56(84) bytes of data.
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=4.31 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.35 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=4.06 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=5.20 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.41 ms

--- www.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 4.064/4.464/5.195/0.383 ms

3. 設置 Ping 間隔超時

使用 -i 標誌可以設置每個封包之間的間隔時間(以秒為單位),默認值為一秒。

$ ping -i 3 -c 5 www.google.com

PING www.google.com (172.217.27.196) 56(84) bytes of data.
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.71 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=6.19 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.39 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=7.34 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.77 ms

--- www.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 12014ms
rtt min/avg/max/mdev = 4.768/5.879/7.341/0.863 ms

4. 使用 Ping Flood 進行 DoS 攻擊(又稱 Ping of Death)

為了確定您的網絡在高負載條件下的響應情況,您可以運行“flood ping”,它會盡可能快地發送請求,使用 -f 開關。只有 root 用戶可以使用此選項,否則,請使用 sudo 命令 獲取 root 權限。

$ sudo ping -f www.google.com
OR
$ sudo ping -f -i 3 www.google.com	#specify interval between requests 

PING www.google.com (172.217.163.36) 56(84) bytes of data.
.......................................................................................................................................................................................^C
--- www.google.com ping statistics ---
2331 packets transmitted, 2084 received, 10% packet loss, time 34095ms
rtt min/avg/max/mdev = 29.096/29.530/61.474/1.417 ms, pipe 4, ipg/ewma 14.633/29.341 ms

5. 對 LAN 的 Ping 廣播

您可以使用 -b 選項來啟用對廣播地址的 ping,這將從連接到您的 LAN 網絡的所有 IP 地址獲取響應。

$ ping -b 192.168.0.0

6. 設置 Ping TTL 值

為了限制探測過程中的網絡跳數(TTLTime-to-live),使用-t旗標。您可以設置介於1255之間的任何值;不同的操作系統設置了不同的默認值。

每個接收到封包的路由器至少減去1,如果計數仍大於0,則路由器將封包轉發到下一個跳點,否則,它將丟棄封包並發送一個ICMP響應返回給您的計算機。

在這個例子中,TTL已經超過,ping測試失敗,如截圖所示。

$ ping -t 10 www.google.com
Set Ping TTL Count

7. 設置 Ping 封包大小

默認的封包大小應該足夠進行 ping 測試,但是,您可以根據具體的測試需求進行更改。您可以使用-s選項指定有效負載的大小,這將導致所提供的值加上8個額外字節的 ICMP 標頭的總封包大小。

$ ping -s 1000 www.google.com

8. 設置 Ping 預加載

如果添加了預加載,ping 會發送該數量的封包,而不等待回覆。請注意,只有 root 用戶可以選擇超過3的預加載,否則,請使用sudo 命令獲取 root 權限。

$ sudo ping -l 5 www.google.com 

9. 設置 Ping 超時

$ ping -W 10 www.google.com

10. 設置Ping超時時間(秒)

要在幾秒內設置超時,以便無論發送或接收了多少封包,Ping都會退出,請使用-w標誌。

$ ping -w 5 www.google.com

11. Ping調試ICMP封包

使用-d選項可以啟用調試IP封包詳細信息,如下所示。

$ ping -d www.google.com

12. Ping詳細輸出

您可以使用-v標誌啟用詳細輸出,如下所示。

$ ping -v www.google.com

注意Ping可能不一定用於測試網絡連通性,它只是告訴您IP地址是否活動或非活動。

通常與路由跟踪程序一起使用,但是,MTR – 一個現代網絡診斷工具結合了ping路由跟踪的功能,並提供了許多其他功能。

請查看網絡工具的綜合列表:Linux網絡管理、故障排除和調試

摘要

Ping是一種非常常見的方法,用於排除網絡上主機的可訪問性問題。在本文中,我們已解釋了12個實用的ping命令示例,用於測試網絡設備的可達性。請通過下面的評論表格與我們分享您的想法。

Source:
https://www.tecmint.com/ping-command/