Ping是Windows、Unix和Linux系統下的一個指令。 ping也屬於一個通訊協議,是TCP/IP協定的一部分。利用「ping」指令可以檢查網路是否連通,可以很好地幫助我們分析和判定網路故障。下面這篇文章就來跟大家介紹一些常用的ping指令。
ping指令通常用來作為網路可用性的檢查。 ping指令可以對一個網路位址發送測試資料包,看該網路位址是否有回應並統計回應時間,以此測試網路。
ping的原理:
向指定的網路位址發送一定長度的封包,依照約定,若指定網路位址存在的話,會回傳同樣大小的資料包,當然,若在特定時間內沒有返回,就是“超時”,會被認為指定的網路位址不存在。
ICMP協定透過IP協定發送的,IP協定是一種無連接的,不可靠的資料包協定。在Unix/Linux,序號從0開始計數,依序遞增。而Windows ping程式的ICMP序號是沒有規律。
ICMP協定在實際傳輸中資料包:20位元組IP首部 8位元組ICMP首部 1472位元組38位元組。
ICMP封包格式:IP首部(20位元組) 8位元類型 8位元代碼 16校驗和 (不同類型和代碼,格式也有所不同)。
ping指令的用法
ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]][-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name
在開始功能表中的“執行”選項,輸入“cmd”, 開啟cmd指令視窗;輸入不帶參數的Ping 或ping /? ,顯示Ping指令的說明:
ping指令詳解:
-t :Ping 指定的電腦直到中斷。
-a :將位址解析為電腦名稱。
-n count :傳送 count 指定的 ECHO 封包數。預設值為 4。
-l size :發送包含由 size 指定的資料量的 ECHO 資料包。預設為 32 個位元組;最大值是65,527。
-f :在資料包中發送"不要分段"標誌。資料包就不會被路由上的網關分段。
-i ttl :將"生存時間"欄位設定為 ttl 指定的值。
-r count :在"記錄路由"欄位中記錄傳出和傳回資料包的路由。 count 可以指定最少 1 台,最多 9 台電腦。
-s count :指定 count 指定的躍點數的時間戳記。
-j host-list :利用 host-list 指定的電腦清單路由封包。連續電腦可以被中間網關分隔(路由稀疏源)IP 允許的最大數量為 9。
-k host-list :利用 host-list 指定的電腦清單路由封包。連續電腦不能被中間網關分隔(路由嚴格來源)IP 允許的最大數量為 9。
-w timeout :指定超時間隔,單位為毫秒。
destination-list :指定要 ping 的遠端電腦。
以上是常用ping指令詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!