Ping命令詳解
1、Ping的基礎知識
ping命令相信大家已經再熟悉不過了,但是能把ping的功能發揮到最大的人卻並不是很多,當然我也並不是說我可以讓ping發揮最大的功能,我也只不過經常用ping這個工具,也總結了一些小經驗,現在和大家分享一下。
Ping是潛水艇人員的專用術語,表示回應的聲納脈衝,在網路中Ping 是一個十分好用的TCP/IP工具。它主要的功能是用來檢測網路的連通情況和分析網路速度。 Ping有好的善的一面也有惡的一面。先說一下善的一面吧。上面已經說過Ping的用途就是用來檢測網路的連同情況和分析網路速度,但它是通過什麼來顯示連通呢?這首先要了解Ping的一些參數和返回信息。2、Ping命令詳解
首先需要打開DOS命令界面,通過點擊開始菜單中的「運行」選項,輸入「cmd」, 回車即可打開(如下圖)。
我們輸入 ping /? 例出ping 以下是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 -t Ping 指定的計算機直到中斷。 -a 將地址解析為計算機名。 -n count 發送 count 指定的 ECHO 數據包數。默認值為 4。 -l length 發送包含由 length 指定的數據量的 ECHO 數據包。默認為 32 位元組;最大值是65,527。 -f 在數據包中發送」不要分段」標誌。數據包就不會被路由上的網關分段。 -i ttl 將」生存時間」欄位設置為 ttl 指定的值。-v tos 將」服務類型」欄位設置為 tos 指定的值。
-r count 在」記錄路由」欄位中記錄傳出和返回數據包的路由。count 可以指定最少 1 台,最多 9 台計算機。 -s count 指定 count 指定的躍點數的時間戳。 -j computer-list 利用 computer-list 指定的計算機列表路由數據包。連續計算機可以被中間網關分隔(路由稀疏源)IP 允許的最大數量為 9。 -k computer-list 利用 computer-list 指定的計算機列表路由數據包。連續計算機不能被中間網關分隔(路由嚴格源)IP 允許的最大數量為 9。 -w timeout 指定超時間隔,單位為毫秒。 destination-list 指定要 ping 的遠程計算機。3、怎樣使用Ping這命令來測試網路連通呢?
連通問題是由許多原因引起的,如本地配置錯誤、遠程主機協議失效等,當然還包括設備等造成的故障。
首先我們講一下使用Ping命令的步驟。 使用Ping檢查連通性有五個步驟:1. 使用ipconfig /all觀察本地網路設置是否正確,如圖;
Ping 127.0.0.1,127.0.0.1 回送地址Ping回送地址是為了檢查本地的TCP/IP協議有沒有設置好;
Ping本機IP地址,這樣是為了檢查本機的IP地址是否設置有誤;
Ping本網網關或本網IP地址,這樣的是為了檢查硬體設備是否有問題,也可以檢查本機與本地網路連接是否正常;(在非區域網中這一步驟可以忽略)
Ping遠程IP地址,這主要是檢查本網或本機與外部的連接是否正常。
4、如何用Ping命令來判斷一條鏈路好壞?
Ping這個命令除了可以檢查網路的連通和檢測故障以外,還有一個比較有趣的用途,那就是可以利用它的一些返回數據,來估算你跟某台主機之間的速度是多少位元組每秒
我們先來看看它有那些返回數據。在例子中」bytes=32」表示ICMP報文中有32個位元組的測試數據,」time=56ms」是往返時間。 Sent 發送多個秒包、Received 收到多個回應包、Lost 丟棄了多少個Minmum 最小值 、MAXimun 最大值、Average 平均值。所在圖上來看,來回只用了56MS 時間,lost =0 即是丟包數為0,網路狀態相當良好。 (更詳細可以使用-n參數 「ping –n 100 IP地址」 ping 100次。查看 Sent Received Lost Minmum MAXimun Average 這些值的變化。)
5、對Ping後返回信息的分析
1.Request timed out
這是大家經常碰到的提示信息,很多文章中說這是對方機器置了過濾ICMP數據包,從上面工作過程來看,這是不完全正確的,至少有下幾種情況。(1) 對方已關機,或者網路上根本沒有這個地址:比如在上圖中主機A中PING 192.168.0.7 ,或者主機B關機了,在主機A中PING 192.168.0.5 都會得到超時的信息。
(2)對方與自己不在同一網段內,通過路由也無法找到對方,但有時對方確實是存在的,當然不存在也是返回超時的信息。 (3)對方確實存在,但設置了ICMP數據包過濾(比如防火牆設置)。 怎樣知道對方是存在,還是不存在呢,可以用帶參數 -a 的Ping命令探測對方,如果能得到對方的NETBIOS名稱,則說明對方是存在的,是有防火牆設置,如果得不到,多半是對方不存在或關機,或不在同一網段內。 (4)錯誤設置IP地址 正常情況下,一台主機應該有一個網卡,一個IP地址,或多個網卡,多個IP地址(這些地址一定要處於不同的IP子網)。但如果一台電腦的「撥號網路適配器」(相當於一塊軟網卡)的TCP/IP設置中,設置了一個與網卡IP地址處於同一子網的IP地址,這樣,在IP層協議看來,這台主機就有兩個不同的介面處於同一網段內。當從這台主機Ping其他的機器時,會存在這樣的問題: A.主機不知道將數據包發到哪個網路介面,因為有兩個網路介面都連接在同一網段。B.主機不知道用哪個地址作為數據包的源地址。因此,從這台主機去Ping其他機器,IP層協議會無法處理,超時後,Ping 就會給出一個「超時無應答」的錯誤信息提示。但從其他主機Ping這台主機時,請求包從特定的網卡來,ICMP只須簡單地將目的、源地址互換,並更改一些標誌即可,ICMP應答包能順利發出,其他主機也就能成功Ping通這台機器了。
2.Destination host Unreachable (1) 對方與自己不在同一網段內,而自己又未設置默認的路由,比如上例中A機中不設定默認的路由,運行Ping 192.168.0.1.4就會出現「Destination host Unreachable」。 (2)網線出了故障 這裡要說明一下「destination host unreachable」和 「time out」的區別,如果所經過的路由器的路由表中具有到達目標的路由,而目標因為其他原因不可到達,這時候會出現「time out」,如果路由表中連到達目標的路由都沒有,那就會出現「destination host unreachable」。 3.Bad IP address 這個信息表示您可能沒有連接到DNS伺服器,所以無法解析這個IP地址,也可能是IP地址不存在。 4.Source quench received 這個信息比較特殊,它出現的機率很少。它表示對方或中途的伺服器繁忙無法回應。 5.Unknown host——不知名主機 這種出錯信息的意思是,該遠程主機的名字不能被域名伺服器(DNS)轉換成IP地址。故障原因可能是域名伺服器有故障,或者其名字不正確,或者網路管理員的系統與遠程主機之間的通信線路有故障。6.No answer——無響應
這種故障說明本地系統有一條通向中心主機的路由,但卻接收不到它發給該中心主機的任何信息。故障原因可能是下列之一:中心主機沒有工作;本地或中心主機網路配置不正確;本地或中心的路由器沒有工作;通信線路有故障;中心主機存在路由選擇問題。 7.Ping 127.0.0.1:127.0.0.1是本地循環地址 如果本地址無法Ping通,則表明本地機TCP/IP協議不能正常工作。 8.no rout to host:網卡工作不正常。 9.transmit failed,error code:10043網卡驅動不正常。 10.unknown host name:DNS配置不正確。---------轉自網路
推薦閱讀:
※計算機網路2---常見埠及ping命令相關
※RCNN學習筆記(5):faster rcnn
※案例:是誰丟了數據包?
※在公司用免費的Wi-Fi被人監控了如何處理?
※細說OSI七層協議模型及OSI參考模型中的數據封裝過程?