一、Linux下的ping參數
ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ \ -R ] [ -a addr_family ] [ -c Count ] [ -w timeout ] [ -f | -i \ Wait ] [ -l Preload ] [ -p Pattern ] [ -s PacketSize ] [ -S hostname/IP addr ] \ [ -L ] [ - I a.b.c.d. ] [ -o interface ] [ -T ttl ] Host [ PacketSize ] \ [ Count ]
描述
/usr/sbin/ping 命令發送一個因特網控制報文協議(ICMP) ECHO_REQUEST 去從主機或網關那裏獲得 ICMP ECHO_RESPONSE 信號。
ping 命令用於:
* 確定網絡和各外部主機的狀態。
* 跟蹤和隔離硬件和軟件問題。
* 測試、評估和管理網絡。
-c Count 指定要被髮送(或接收)的回送信號請求的數目,由 Count 變量指出。
-w timeout 這個選項僅和 -c 選項一起才能起作用。它使 ping 命令以最長的超時時間去等待應答(發送最後一個信息包後)。
-d 開始套接字級別的調試。
-D 這個選項引起 ICMP ECHO_REPLY 信息包向標準輸出的十六進制轉儲。
-f 指定 flood-ping 選項。 -f 標誌“傾倒”或輸出信息包,在它們回來時或每秒 100 次,選擇較快一個。每一次發送 ECHO_REQUEST,都打印一個句號,而每接收到一個 ECHO_REPLY 信號,就打印一個退格。這就提供了一種對多少信息包被丟棄的信息的快速顯示。僅僅 root 用戶可以使用這個選項。
注: 這在網絡上將非常困難,必須小心使用。Flood ping 命令僅僅 root 用戶可以使用。-f 標誌與 -i Wait 標誌不兼容。
-I a.b.c.d 指定被 a.b.c.d 標明的接口將被用於向外的 IPv4 多點廣播。-I 標誌是大寫的 i 。
-o interface 指出 interface 將被用於向外的 IPv6 多點廣播。接口以 “en0”,“tr0”等的形式指定。
-i Wait 在每個信息包發送之間等待被 Wait 變量指定的時間(秒數)。缺省值是在每個信息包發送之間等待 1 秒。這個選項與 -f 標誌不兼容。
-L 對多點廣播 ping 命令禁用本地回送。
-l Preload 在進入正常行爲模式(每秒 1 個)前儘快發送 Preload 變量指定數量的信息包。-l 標誌是小寫的 L。
-n 指定僅輸出數字。不企圖去查尋主機地址的符號名。
-p Pattern 指定用多達 16 個“填充”字節去填充你發送的信息包。這有利於診斷網絡上依賴數據的問題。例如,-p ff 全部用 1 填充信息包。
-q 指定靜默輸出。除了在啓動和結束時顯示總結行外什麼也不顯示。
-r 忽略路由表直接送到連接的網絡上的主機上。如果 主機 不在一個直接連接的網絡上,ping 命令將產生一個錯誤消息。這個選項可以被用來通過一個不再有路由經過的接口去 ping 一個本地主機。
-R 指定記錄路由選項。-R 標誌包括 ECHO_REQUEST 信息包中的 RECORD_ROUTE 選項,並且顯示返回信息包上的路由緩衝。
注: IP 頭僅僅大到適合 9 個這樣的路由。而且,許多主機和網關忽略這個選項。
-a addr_family 映射 ICMP 信息包的目的地址到 IPv6 格式,如果 addr_family 等於 “inet6”的話。
-s PacketSize 指定要發送數據的字節數。缺省值是 56,當和 8 字節的 ICMP 頭數據合併時被轉換成 64 字節的 ICMP 數據。
-S hostname/IP addr 將 IP 地址用作發出的 ping 信息包中的源地址。在具有不止一個 IP 地址的主機上,可以使用 -S 標誌來強制源地址爲除了軟件包在其上發送的接口的 IP 地址外的任何地址。如果 IP 地址不是以下機器接口地址之一,則返回錯誤並且不進行任何發送。
-T ttl 指定多點廣播信息包的生存時間爲 ttl 秒。
-v 請求詳細輸出,其中列出了除回送信號響應外接收到的 ICMP 信息。
參數
PacketSize 指定了要發送數據的字節數。缺省值是 56,當和 8 字節的 ICMP 頭數據合併時被轉換成 64 字節的 ICMP 數據。包含這個參數是爲了和以前的 ping 命令版本相兼容。
Count 指定了要發送(接收)的回送信號請求的數目。包含這個參數是爲了和以前的 ping 命令版本相兼容。
二、Windows下的ping參數
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]
[-w timeout] destination-list
Ping 命令可以用來驗證與遠程計算機的連接。(該命令只有在安裝了TCP/IP協議後才能使用)
【參數說明】 :
-t :一直Ping指定的計算機,直到從鍵盤按下Control-C中斷。
-a :將地址解析爲計算機NetBios名。
-n :發送count指定的ECHO數據包數。,通過這個命令可以自己定義發送的個數,對衡量網絡速度很有幫助。能夠測試發送數據包的返回平均時間,及時間的快慢程度。默認值爲 4。
-l :發送指定數據量的ECHO數據包。默認爲 32 字節;最大值是65500byt。
-f :在數據包中發送“不要分段”標誌,數據包就不會被路由上的網關分段。通常你所發送的數據包都會通過路由分段再發送給對方,加上此參數以後路由就不會再分段處理。
-i :將“生存時間”字段設置爲TTL指定的值。指定TTL值在對方的系統裏停留的時間。同時檢查網絡運轉情況的。
-v :tos 將“服務類型”字段設置爲 tos 指定的值。
-r :在“記錄路由”字段中記錄傳出和返回數據包的路由。通常情況下,發送的數據包是通過一系列路由纔到達目標地址的,通過此參數可以設定,想探測經過路由的個數。限定能跟蹤到9個路由。
-s :指定 count 指定的躍點數的時間戳。與參數-r差不多,但此參數不記錄數據包返回所經過的路由,最多隻記錄4個。
-j :利用 computer-list 指定的計算機列表路由數據包。連續計算機可以被中間網關分隔(路由稀疏源) IP 允許的最大數量爲 9。
-k :computer-list 利用 computer-list 指定的計算機列表路由數據包。連續計算機不能被中間網關分隔(路由嚴格源)IP 允許的最大數量爲 9。
-w:timeout 指定超時間隔,單位爲毫秒。
destination-list: 指定要 ping 的遠程計算機。
一般情況下,通過ping目標地址,可讓對方返回TTL值的大小,通過TTL值可以粗略判斷目標主機的系統類型是Windows還是UNIX/Linux,一般情況下Windows系統返回的TTL值在100-130之間,而UNIX/Linux系統返回的TTL值在240-255之間。但TTL的值是可以修改的。故此種方法可作爲參考.
****************************************************************
Ping的返回信息有"Request Timed Out"、"Destination Net Unreachable"和"Bad IP address"還有"Source quench received"。
"Request Timed Out"這個信息表示對方主機可以到達到TIME OUT,這種情況通常是爲對方拒絕接收你發給它的數據包造成數據包丟失。大多數的原因可能是對方裝有防火牆或已下線。
"Destination Net Unreachable"這個信息表示對方主機不存在或者沒有跟對方建立連接。這裏要說明一下"destination host unreachable"和"time out"的區別,如果所經過的路由器的路由表中具有到達目標的路由,而目標因爲其它原因不可到達,這時候會出現"time out",如果路由表中連到達目標的路由都沒有,那就會出現"destination host unreachable"。
"Bad IP address" 這個信息表示你可能沒有連接到DNS服務器所以無法解析這個IP地址,也可能是IP地址不存在。
"Source quench received"信息比較特殊,它出現的機率很少。它表示對方或中途的服務器繁忙無法迴應。