名稱
- Provided by: manpages-zh (Version: 1.5.2-1.1)
- Report a bug
ping [ -LRUbdfnqrvR] [-c count] [-i wait] [-l preload] [-p pattern] [-s packetsize]
更改過的選項:
新增選項:
改進:
ping 程式使用 ICMP 協議的強制回顯請求數據報以使主機或網關發送一份 ICMP 的回顯應答。回顯請求數據報(" pings ")含有一個 IP 及 ICMP 的報頭,後跟一個``時間值關鍵字''然後是一段任意長度的填充字節用於把保持分組長度為16的整數倍。以下是程式的選項:
當用ping來隔離故障時,應首先在本地主機上運行,以檢查本地網路接口有效 運行。然後,應該進一步檢查主機和網關。計算出往返時間和分組丟失率。如 果收到重復的分組,雖然這些分組的往返時間要用於計算往返時間的最小/平均 /最大值,但是它們不應該算在剛才計算的丟失的分組中。當指定數量的分組已 經發送(和接收)時或如果程式被SIGINT信號終止,會顯示一份簡短的摘要。
如果ping程式根本沒有收到任何返回分組,那它將以返回碼1退出。出錯時返回 2。否則返回0。這些值可能用於查看主機存在與否。
此程式專用於網路測試,度量和管理。因為它會使用網路的流量,在正常操作或 自動的稿本中使用它並不明智。
一個無選項的IP首部長為20字節。一個ICMP回顯請求分組包含了額外的8個字節 用於任意數量的數據。當給出分組長度時,就同時指出了額外數據的長度(預設為 56)。因此接收到的ICMP回顯應答這樣的一個IP分組內部所含的數據量總是8個字 節從而超過了請求數據空間(ICMP首部)。
如果數據空間至少有8個字節大小,ping程式使用此空間的頭8個字節來包含一個 用於計算往返時間的時間戳。如果指定了填充字節小於8個字節,就不給定往返 時間了。
ping程式會報告重復和受損的分組。分組重復不應該發生,不適當的鏈路層傳輸 可能會導致這樣問題。分組重復在很多情況下可能會發生,雖然存在少量重復並 不總會導致警告,但並不是個好信號。
分組受損很顯然會引起嚴重警告,並通常會在檢測分組的路徑上某處指出受損的 硬體(在網路中或主機中)。
網際網路路並不會因為分組數據部分的內容不同而區別看待分組。不幸的是,與數據相關的問題都已知潛存於網路中,並在一個較長時期內無法檢測到。在很多情況下,引起問題的特殊結構是些未完全轉換的內容如全1或全0,接近臨界的結構如幾乎全0。在命令行上沒有足夠的必要去指定如全0這樣的一個數據結構,因為有影響的結構位於數據鏈路層,並且與指定的和控制器傳輸的復雜程度有關。
這說明如果你有一個與數據相關的問題,可能必須用很多測試來找出它。如果幸運的話,可以設法查找一個不能在網上發送或發送時要花比同長度的檔案更多時間的檔案。然後檢查此檔案中用ping程式的-p選項來指定的重復結構。
一個IP分組的TTL值表示分組在被丟棄前穿越IP路由器的最大數據。在現有的實際中, 你可以認為網際網路上每個路由器都對TTL字段減1。
TCP/IP規定TCP分組的TTL字段應該設為60,但很多系統用較小的值(4.3 BSD 用30, 4.2用15)。
此字段可能的最大值為255,多數UNIX系統把ICMP回顯請求分組的TTL字段設 為255。這就是為什麼你可以``ping''一些主機而不能用telnet(1)和ftp(1)到達。
在正常操作時ping列印它收到分組的TTL值。當選程系統收到一份ping的分組時, 在作出響應時可以用TTL字段完成三件事:
很多主機和網關忽略記錄路由選項。
最大IP首部對如記錄路由這樣非常有用的選項來說長度太小。但對此無法再做更多 事情了。
通常情況並不推薦以高速方式作ping,而且只在非常受限的條件下才可對廣播地址 這樣做。
ping程式出現於4.3BSD 。
meaculpa <meaculpa@21cn.com>
2000/12/08
http://cmpp.linuxforum.net