Ping命令詳解

1、Ping的基礎知識

ping命令相信大家已經再熟悉不過了,但是能把ping的功能發揮到最大的人卻並不是很多,當然我也並不是說我可以讓ping發揮最大的功能,我也只不過經常用ping這個工具,也總結了一些小經驗,現在和大家分享一下。
Ping是潛水艇人員的專用術語,表示迴應的聲納脈衝,在網絡中Ping 是一個十分好用的TCP/IP工具。它主要的功能是用來檢測網絡的連通情況和分析網絡速度。
Ping有好的善的一面也有惡的一面。先說一下善的一面吧。上面已經說過Ping的用途就是用來檢測網絡的連同情況和分析網絡速度,但它是通過什麼來顯示連通呢?這首先要了解Ping的一些參數和返回信息。

2、Ping命令詳解

首先需要打開DOS命令界面,通過點擊開始菜單中的“運行”選項,輸入“cmd”, 回車即可打開(如下圖)。
cmd命令

我們輸入 ping /? 例出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觀察本地網絡設置是否正確,如圖;
ipconfig /all命令

  1. Ping 127.0.0.1,127.0.0.1 回送地址Ping回送地址是爲了檢查本地的TCP/IP協議有沒有設置好;
    ping本地

  2. Ping本機IP地址,這樣是爲了檢查本機的IP地址是否設置有誤;

  3. Ping本網網關或本網IP地址,這樣的是爲了檢查硬件設備是否有問題,也可以檢查本機與本地網絡連接是否正常;(在非局域網中這一步驟可以忽略)

  4. Ping遠程IP地址,這主要是檢查本網或本機與外部的連接是否正常。
    ping baidu.com

4、如何用Ping命令來判斷一條鏈路好壞?

Ping這個命令除了可以檢查網絡的連通和檢測故障以外,還有一個比較有趣的用途,那就是可以利用它的一些返回數據,來估算你跟某臺主機之間的速度是多少字節每秒
我們先來看看它有那些返回數據。
ping baidu.com

在例子中”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配置不正確。


                                                                                                轉自網絡
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章