「ping」 命令用於排除和診斷網路連接問題,並檢查主機是否可訪問,它適用於所有操作系統。
「ping」命令的工作原理

Ping 數據包工作原理圖
Ping 命令從「主機 A」(源)向「主機 B」(目標)發送一個 32 位元組的 ICMP(互聯網控制消息協議)數據包,並等待「主機 B」向「主機 A」響應一個 32 位元組的數據包」。如果連接成功,則列印整個往返時間,如果不成功,則列印失敗原因,諸如丟包、超時、連接錯誤等。
如何執行「ping」命令?
以下是調用「ping」命令的方法:
ping [IP/domain] 例子:
ping gceasy.com 執行上述命令後,控制台會列印以下消息:
Pinging gceasy.com [195.201.17.137] with 32 bytes of data: Reply from 195.201.17.137: bytes=32 time=217ms TTL=45 Reply from 195.201.17.137: bytes=32 time=185ms TTL=45 Reply from 195.201.17.137: bytes=32 time=188ms TTL=45 Reply from 195.201.17.137: bytes=32 time=196ms TTL=45 Ping statistics for 195.201.17.137: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 185ms, Maximum = 217ms, Average = 196ms •時間:這是往返時間。它是數據包從源地址到達目的地並報告回源地址所花費的時間
•TTL(生存時間):是時間或「跳數」的量,它可以從 0 到 255 不等,具體取決於主機操作系統。當數據包通過互聯網發送時,數據包有可能從路由器通過,並且數據包將被發送,直到用戶中斷此命令。數據包設計了一個稱為生存時間的過期時間。
•Ping statistics:
Packets Sent(發送的數據包): 數據包從主機發送到目的地的次數。
Packets Received(收到的數據包) : 從目的地到主機收到的數據包的次數。
Packets Lost(數據包丟失) : 無法到達目的地的數據包數。
•大約往返時間:
最小值:以毫秒為單位獲得響應的最短時間
平均:以毫秒為單位獲得響應的平均時間
最大:以毫秒為單位獲得響應的最長時間
Ping 的默認 TTL(生存時間) 是多少?
Ping 命令的 TTL值因操作系統而異。下表總結了ping命令對於常用操作系統的默認TTL

Ping 錯誤:
•請求超時:如果由於網路流量過大,主機沒有響應,或者 ARP 請求包過濾失敗,或者如果路由器出現錯誤,則 ping 請求將超時。
例子:
ping gceasy.io Pinging gceasy.io [52.52.12.54] with 32 bytes of data: Request timed out. Request timed out. Request timed out. Request timed out. Ping statistics for 52.52.12.54: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss) 解決方案:使用 ping -w 開關增加等待時間。
•Ping 請求無法找到主機:當無法根據傳遞給 ping 命令的主機名確定 IP 地址時,將遇到此錯誤。
例子:
ping test123blah.com Ping request could not find host test123blah.com. Please check the name and try again. 解決方案:驗證傳遞給 ping 命令的主機名。驗證 DNS 伺服器是否可用/可從主機訪問。
•目標主機無法訪問:當訪問的主機停機或在網路上不可用時,將返回「目標主機無法訪問」錯誤。
例子:
ping 192.168.0.0 Pinging 192.168.0.0 with 32 bytes of data: Reply from 192.168.0.102: Destination host unreachable. Reply from 192.168.0.102: Destination host unreachable. Reply from 192.168.0.102: Destination host unreachable. Reply from 192.168.0.102: Destination host unreachable. Ping statistics for 192.168.0.0: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss) 解決方案:驗證目標主機是否已啟動並正在運行。修改本地路由表或通知路由器管理員。
•TTL 在傳輸過程中過期: 當將數據包路由到目的地時出現重循環時,TTL 將過期。這將導致「TTL在傳輸中過期」錯誤。
解決方案: 確定重複並導致循環的 IP 地址。在 Linux 問題上,以 root 用戶身份使用「route -n」命令查看當前路由表,在 Windows 問題上,命令輸出「route print」。
•Ping命令:傳輸失敗。
一般故障:當設備網卡或無線適配器存在物理問題時,將導致「Ping:transmit failed. 」(Ping:傳輸失敗)、「一般失敗’錯誤。
例子:
ping 2DAB:FFFF:0000:3EAE:01AA:00FF:DD72:2C4A Pinging 2dab:ffff:0:3eae:1aa:ff:dd72:2c4a with 32 bytes of data: PING: transmit failed. General failure. PING: transmit failed. General failure. PING: transmit failed. General failure. PING: transmit failed. General failure. Ping statistics for 2dab:ffff:0:3eae:1aa:ff:dd72:2c4a: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss) 解決方案:確保網卡沒有問題。確保設備上安裝了最新版本的網路驅動程序,檢查是否為設備分配了正確的 IP 地址。
常用的 Ping 命令
可以在使用 ‘ping’ 命令的同時使用其它選項來獲取要查找的信息。
發送更多請求,請執行以下操作:
如果要發送 ‘5’ 回顯請求,則可以發出以下命令:
ping -n 5 gceasy.com 執行上述命令後,控制台會列印以下消息:
Pinging gceasy.com [195.201.17.137] with 32 bytes of data: Reply from 195.201.17.137: bytes=32 time=168ms TTL=45 Reply from 195.201.17.137: bytes=32 time=165ms TTL=45 Reply from 195.201.17.137: bytes=32 time=170ms TTL=45 Reply from 195.201.17.137: bytes=32 time=170ms TTL=45 Reply from 195.201.17.137: bytes=32 time=183ms TTL=45 Ping statistics for 195.201.17.137: Packets: Sent = 5, Received = 5, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 165ms, Maximum = 183ms, Average = 171ms 要Ping指定主機直到停止,請執行以下操作:
如果想向指定的主機發送請求,直到手動停止為止,則可以發出以下命令:
ping -t gceasy.com Ping 工具
性能根本原因分析工具(如yCrash)捕獲應用程序級工件(如線程轉儲、堆轉儲、垃圾收集日誌)和系統級工件(如 netstat、vmstat、iostat、top、top -H、dmesg 等)。除此之外,該工具還捕獲 ping 命令輸出。工具分析所有工件,並立即生成統一的根本原因分析報告。如果該工具在 ping 命令輸出中發現任何錯誤,它將在報告中發出警報。

圖: yCrash工具中捕獲並報告的 ping 輸出
‘ping’ 命令選項
如果想了解傳遞給「ping」命令的所有選項,請參閱此處。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/214282.html
微信掃一掃
支付寶掃一掃