成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

ping命令返回結果分析

LINUX 下ping 命令的使用祥解ping 是一個很常用的小工具,它主要用于確定網絡的連通性問題 使用ping 命令后,常見的出錯信息通常分為3種:1、unknown host:不知名主機,該遠程

LINUX 下ping 命令的使用祥解

ping 是一個很常用的小工具,它主要用于確定網絡的連通性問題 使用ping 命令后,常見的出錯信息通常分為3種:

1、unknown host:不知名主機,該遠程主機的名字不能被域名服務器DNS 轉換成IP 地址,故障原因可能是域名服務器有故障,或者目標主機的名字不正確,或者網絡管理員的系統(tǒng)與遠程主機之間的通信線路有故障。

2、Destination Host Unreachable:此錯誤信息表明執(zhí)行命令的計算機沒能將信息發(fā)送到對方那里。大多數(shù)情況是自己一方的計算機LAN 連接線掉線,或者由于IP 設置不對,而無法進行正常通信。

3、Request time out :表示在規(guī)定時間內因某種原因沒有返回ping 命令的應答,這種情況很可能是對方的計算機沒有運行,或者中間線路不通致使信息沒有到達對方那里。大多數(shù)情況下是企業(yè)防火墻等阻擋了ping 命令中使用的ICMP 信息。在這種情況下即便通信對象正在工作,也會有這種結果顯示。(echo 包順利到達目的主機,且目的主機也向源主機返回echo-reply 包,但是echo-reply 包在半路上丟失,無法到達源主機。)

如何用ping 命令查找無法上網的原因

1.Ping 命令的語法格式:

有必要先給不了解Ping 命令的人介紹一下Ping 命令的具體語法格式:

ping 目的地址[參數(shù)1J[參數(shù)2]……

其中目的地址是指被測試計算機的IP 地址或域名 主要參數(shù)有:

a :解析主機地址

c :數(shù)據:發(fā)出的測試包的個數(shù),缺省值為無限ping

l :數(shù)值:所發(fā)送緩沖區(qū)的大小

1

以上面的結果為例

1. Reply from 61.135.179.166: bytes=10240 time=48ms TTL=50

10240的網絡包用48毫秒完成了一次網絡交互

TTL=50表示服務器的操作系統(tǒng)是Linux ,中間經過了14個網絡設備

2. Packets: Sent = 100, Received = 100, Lost = 0 (0 loss)

發(fā)送了100個包,接收到100個回應,丟包率0(一般應該在5以內)

3. Minimum = 48ms, Maximum = 50ms, Average = 48ms

最短交互時間48毫秒,最長50毫秒,平均48毫秒

平均時間如果跟最短很接近,表示速度比較均勻,偶爾時間長些

,

平均時間如果跟最長很接近,一般認為網絡忙的可能性比較大了

推算速度

網絡速度≈包大小/交互時間 k字節(jié)/s

例如上面的結果,網絡速度 ≈ 10240/48 = 213 k/s = 1704K BIT/s 速度很好,肯定比1M 的ADSL 是達不到這個速度的

幾個結果分析

網絡速度不穩(wěn)定

Minimum = 33ms, Maximum = 179ms, Average = 62ms

最短、最長、平均,三個時間很開,說明網絡速度不穩(wěn)定,波動很大

網絡鏈接突然斷開

Reply from xxx.xxx.xx.xx: bytes=990 time=11ms TTL=108

Reply from xxx.xxx.xx.xx: bytes=990 time=7ms TTL=108

Request timed out.

Reply from xxx.xxx.xx.xx: bytes=990 time=12ms TTL=108

Reply from xxx.xxx.xx.xx: bytes=990 time=10ms TTL=108

響應時間變化不大,突然出現(xiàn)一個超時,一般是中間某一個網絡設備導致網絡鏈接突然斷開 網絡速度不穩(wěn)定

Reply from xxx.xxx.xx.xx: bytes=990 time=182ms TTL=108

Request timed out.

Reply from xxx.xxx.xx.xx: bytes=990 time=448ms TTL=108

Reply from xxx.xxx.xx.xx: bytes=990 time=61ms TTL=108

,

Request timed out.

Reply from xxx.xxx.xx.xx: bytes=990 time=8ms TTL=108

響應時間變化很大,時不時出現(xiàn)超時,一般是接觸不良、網絡設備處理不過來、網絡繁忙等 在ping 的結果基礎上,可以用 tracert 或者 pathping 進一步分析網絡問題出在哪個網絡設備上。

2.鍵入Ping 192.192.225.225就可以了

Ping 192.192.225.225 with 32 byteS of dara:

Reply from 192.192.225.225:bytes=32 time<10ms TTL=128

Reply from 192.192.225.225:bytes=32 time<10ms TTL=128

Reply from 192.192.225.225:bytes=32 time<10ms TTL=128

Reply from 192.192.225.225:bytes=32 time<10ms TTL=128

Ping StatiStiCe for 192.192.225.225:

PacketS :Sent=4,ReceiVed=4,LOSt=0 0%lOSS

Approximate round trip timeS in milli-secondS:

Minimum=Oms,Maximum=1mS,Average=OmS

以上返回了4個測試數(shù)據包,其中bytes=32表示測試中發(fā)送的數(shù)據包大小是32個字節(jié),“time<10ms表示與對方主機

往返一次所用的時間小于10毫秒,TTL=128表示當前測試使用的TTL Time to Live 值為128 系統(tǒng)默認值

如果網絡有問題,則返回如下所示的響應失敗信息:

Pinging 192.192.225.225 with 32 bytes of data

Request timed out.

Request timed out.

Request timed out.

Request timed out.

Ping StatiStiCe for 192.192.225,225:

PacketS :Sent=4,ReceiVed=0,lost \=4 100%loss

Minimum‘0ms,Maximum=OmS,Average’0mS

網絡故障:出現(xiàn)第二種情況時,建議從以上幾個方面來著手排查:一是看被測試計算機是否已安裝了TCP /IP 協(xié)議:

二是檢查一下被測試計算機的網卡安裝是否正確且是否已經連通:三是看被測試計算機的TCP /IP 協(xié)議是否與網F

有效的綁定 具體方法是通過選擇“開始一設置一控制面板一網絡”來查看 :如果通過以上幾個步驟的檢查還沒有

發(fā)現(xiàn)問題的癥結,建議重新安裝并設置一,‘廠TCP /”協(xié)議,如果是TCP /IP 協(xié)議的問題,這時絕對可以徹底解決

按照上述方法,我們還可以用Ping 命令來檢查任意一臺客戶湍計算機上TCP /IP 的工作情況 例如我們要檢查網絡任

一客戶端“機房0廠上的TCP /IP 協(xié)議的配置和工作情況,可直接在該臺機器上Ping 本機的

,

IP 地址,若返回成功的信

息,說明IP 地虹LB 己置無誤,若失敗則應檢查IP 地址的配置? 賞ü 韻虜街杞 校菏紫認燃觳橐弧げ氛 鐾 紓 氐?nbsp;

看一下該IP 地址是否正在被其他用戶使用,然后再看一下該工作站是否已正確連入網絡 很多情況下用戶沒有登陸網

絡也會出現(xiàn)此種情況,這可是低級錯誤啊 最后檢查網—E 的I /0地址lIRQ 值和DMA 值,這些值是否與其他設備發(fā)生

了沖突 其中最后一項的檢查非常重要,也常被許多用戶所忽視,即使是Ping 成功后也要進行此項的檢查 因為當Ping

本機的IP 地址成功后,僅表明本機的IP 地址配置沒有問題,但并不能說明網卡的配置完全正確 這時雖然在本機的

“網上鄰居”中能夠看到本機的計算機名,可就是無法與其他的用戶連通,不知問題出在何處,其實問題往往就出在

網卡上

簡單來說,TTL 全程Time to Live,意思就是生存周期

首先要說明ping 命令是使用的網絡層協(xié)議ICMP ,所以TTL 指的是一個網絡層的網絡數(shù)據包 package 的生存周期,這句話不懂的先回去復習OSI7層協(xié)議去

第一個問題,為什么要有生存周期這個概念

很顯然,一個package 從一臺機器到另一臺機器中間需要經過很長的路徑,顯然這個路徑不是單一的,是很復雜的,并且很可能存在環(huán)路 如果一個數(shù)據包在傳輸過程中進入了環(huán)路,如果不終止它的話,它會一直循環(huán)下去,如果很多個數(shù)據包都這樣循環(huán)的話,那對于網絡來說這就是災難了 所以需要在包中設置這樣一個值,包在每經過一個節(jié)點,將這個值減1,反復這樣操作,最終可能造成2個結果:包在這個值還為正數(shù)的時候到達了目的地,或者是在經過一定數(shù)量的節(jié)點后,這個值減為了0 前者代表完成了一次正常的傳輸,后者代表包可能選擇了一條非常長的路徑甚至是進入了環(huán)路,這顯然不是我們期望的,所以在這個值為0的時候,網絡設備將不會再傳遞這個包而是直接將他拋棄,并發(fā)送一個通知給包的源地址,說這個包已死

其實TTL 值這個東西本身并代表不了什么,對于使用者來說,關心的問題應該是包是否到達了目的地而不是經過了幾個節(jié)點后到達 但是TTL 值還是可以得到有意思的信息的

每個操作系統(tǒng)對TTL 值得定義都不同,這個值甚至可以通過修改某些系統(tǒng)的網絡參數(shù)來修改,例如Win2000默認為128,通過注冊表也可以修改 而Linux 大多定義為64 不過一般來說,很少有人會去修改自己機器的這個值的,這就給了我們機會可以通過ping 的回顯TTL 來大體判斷一臺機器是什么操作系統(tǒng)

以我公司2臺機器為例

看如下命令

D:Documents and Settingshx>ping 61 152 93 131

Pinging 61 152 93 131 with 32 bytes of data:

Reply from 61 152 93 131: bytes=32 time=21ms TTL=118

,

Reply from 61 152 93 131: bytes=32 time=19ms TTL=118

Reply from 61 152 93 131: bytes=32 time=18ms TTL=118

Reply from 61 152 93 131: bytes=32 time=22ms TTL=118

Ping statistics for 61 152 93 131:

Packets: Sent = 4, Received = 4, Lost = 0 0 loss

Approximate round trip times in milli-seconds:

Minimum = 18ms, Maximum = 22ms, Average = 20ms

D:Documents and Settingshx>ping 61 152 104 40

Pinging 61 152 104 40 with 32 bytes of data:

Reply from 61 152 104 40: bytes=32 time=28ms TTL=54

Reply from 61 152 104 40: bytes=32 time=18ms TTL=54

Reply from 61 152 104 40: bytes=32 time=18ms TTL=54

Reply from 61 152 104 40: bytes=32 time=13ms TTL=54

Ping statistics for 61 152 104 40:

Packets: Sent = 4, Received = 4, Lost = 0 0 loss

Approximate round trip times in milli-seconds:

Minimum = 13ms, Maximum = 28ms, Average = 19ms

第一臺TTL 為118,則基本可以判斷這是一臺Windows 機器,從我的機器到這臺機器經過了10個節(jié)點,因為128-118=10 而第二臺應該是臺Linux ,理由一樣64-54=10

了解了上面的東西,可能有人會有一些疑問,例如以下:

1,不是說包可能走很多路徑嗎,為什么我看到的4個包TTL 都是一樣的,沒有出現(xiàn)不同

這是由于包經過的路徑是經過了一些最優(yōu)選擇算法來定下來的,在網絡拓撲穩(wěn)定一段時間后,包的路由路徑也會相對穩(wěn)定在一個最短路徑上 具體怎么算出來的要去研究路由算法了,不在討論之列

2,對于上面例子第二臺機器,為什么不認為它是經過了74個節(jié)點的Windows 機器 因為128-74=54

對于這個問題,我們要引入另外一個很好的ICMP 協(xié)議工具 不過首先要聲明的是,一個包經過74個節(jié)點這個有些恐怖,這樣的路徑還是不用為好

要介紹的這個工具是tracert *nix下為traceroute ,讓我們來看對上面的第二臺機器用這個命令的結果

D:Documents and Settingshx>tracert 61 152 104 40

Tracing route to 61 152 104 40 over a maximum of 30 hops

,

1 13 ms 16 ms 9 ms 10 120 32 1

2 9 ms 9 ms 11 ms 219 233 244 105

3 12 ms 10 ms 10 ms 219 233 238 173

4 15 ms 15 ms 17 ms 219 233 238 13

5 14 ms 19 ms 19 ms 202 96 222 73

6 14 ms 17 ms 13 ms 202 96 222 121

7 14 ms 15 ms 14 ms 61 152 81 86

8 15 ms 14 ms 13 ms 61 152 87 162

9 16 ms 16 ms 28 ms 61 152 99 26

10 12 ms 13 ms 18 ms 61 152 99 94

11 14 ms 18 ms 16 ms 61 152 104 40

Trace complete

從這個命令的結果能夠看到從我的機器到服務器所走的路由,確實是11個節(jié)點 上面說10個好像是我犯了忘了算0的錯誤了,應該是64-54 1,嘿嘿 ,而不是128的TTL 經過了70多個節(jié)點

既然已經說到這里了,不妨順便說說關于這兩個ICMP 命令的高級一點的東西

首先是ping 命令,其實ping 有這樣一個參數(shù),可以無視操作系統(tǒng)默認TTL 值而使用自己定義的值來發(fā)送ICMP Request包

例如還是用那臺Linux 機器,用以下命令:

D:Documents and Settingshx>ping 61 152 104 40 -i 11

Pinging 61 152 104 40 with 32 bytes of data:

Reply from 61 152 104 40: bytes=32 time=10ms TTL=54

Reply from 61 152 104 40: bytes=32 time=13ms TTL=54

Reply from 61 152 104 40: bytes=32 time=10ms TTL=54

Reply from 61 152 104 40: bytes=32 time=13ms TTL=54

Ping statistics for 61 152 104 40:

Packets: Sent = 4, Received = 4, Lost = 0 0 loss ,

Approximate round trip times in milli-seconds:

Minimum = 10ms, Maximum = 13ms, Average = 11ms

D:Documents and Settingshx>

這個命令我們定義了發(fā)包的TTL 為11,而前面我們知道,我到這臺服務器是要經過11個節(jié)點的,所以這個輸出和以前沒什么不同 現(xiàn)在再用這個試試看:

D:Documents and Settingshx>ping 61 152 104 40 -i 10

Pinging 61 152 104 40 with 32 bytes of data:

Reply from 61 152 99 94: TTL expired in transit

,

Reply from 61 152 99 94: TTL expired in transit

Reply from 61 152 99 94: TTL expired in transit

Reply from 61 152 99 94: TTL expired in transit

Ping statistics for 61 152 104 40:

Packets: Sent = 4, Received = 4, Lost = 0 0 loss ,

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

D:Documents and Settingshx>

可以看到,結果不一樣了,我定義了TTL 為10來發(fā)包,結果是TTL expired in transit 就是說在到達服務器之前這個包的生命周期就結束了 注意看這句話前面的ip ,這個ip 恰好是我們前面tracert 結果到服務器之前的最后1個ip ,包的TTL 就是在這里減少到0了,根據我們前面的討論,當TTL 減為0時設備會丟棄包并發(fā)送一個TTL 過期的ICMP 反饋給源地址,這里的結果就是最好的證明

通過這里再次又證明了從我機器到服務器是經過了11個節(jié)點而不是70多個,呵呵

最后再鞏固一下知識,有人可能覺得tracer 這個命令很神奇,可以發(fā)現(xiàn)一個包所經過的路由路徑 其實這個命令的原理就在我們上面的討論中

想象一下,如果我給目的服務器發(fā)送一個TTL 為1的包,結果會怎樣

根據前面的討論,在包港出發(fā)的第一個節(jié)點,TTL 就會減少為0,這時這個節(jié)點就會回應TTL 失效的反? 飧齷賾Π 松璞副舊淼膇p 地址,這樣我們就得到了路由路徑的第一個節(jié)點的地址

因此,我們繼續(xù)發(fā)送TTL=2的包,也就受到第二個節(jié)點的TTL 失效回應

依次類推,我們一個一個的發(fā)現(xiàn),當最終返回的結果不是TTL 失效而是ICMP Response的時候,我們的tracert 也就結束了,就是這么簡單

順便補一句ping 命令還有個-n 的參數(shù)指定要發(fā)包的數(shù)量,指定了這個數(shù)字就會按照你的要求來發(fā)包了而不是默認的4個包 如果使用-t 參數(shù)的話,命令會一直發(fā)包直到你強行中止它

ping 的后臺執(zhí)行過程

就以這樣一個網絡作為例子:假設有A 、B 、C 、D 四臺機器,一臺路由RA ,子網掩碼均為255.255.255.0,默認網關是192.168.0.1。

1. 同一網段

我們來看一下在A 主機上執(zhí)行“Ping 192.168.0.5”后,都發(fā)生了些什么。首先,Ping 會通知系統(tǒng)建立一個固定格式的ICMP 請求數(shù)據包,然后由ICMP 協(xié)議打包這個數(shù)據包和地址

,

“192.168.0.5”轉交給IP 層協(xié)議(一組后臺運行的進程,與ICMP 類似),IP 層協(xié)議將以地址“192.168.0.5”作為目的地址,本機IP 地址作為源地址,加上一些其他的控制信息,構建一個IP 數(shù)據包,并想辦法得到192.168.0.5的MAC 地址(物理地址,這是數(shù)據鏈路層協(xié)議構建數(shù)據鏈路層的傳輸單元——幀所必需的),以便交給數(shù)據鏈路層構建一個數(shù)據幀。關鍵就在這里,IP 層協(xié)議通過機器B 的IP 地址和自己的子網掩碼,發(fā)現(xiàn)它跟自己屬同一網絡,就直接在本網絡內查找這臺機器的MAC ,如果以前兩機有過通信,在A 機的ARP 緩存表應該有B 機IP 與其MAC 的映射關系,如果沒有,就發(fā)一個ARP 請求廣播,得到B 機的MAC ,一并交給數(shù)據鏈路層。后者構建一個數(shù)據幀,目的地址是IP 層傳過來的物理地址,源地址則是本機的物理地址,還要附加上一些控制信息,依據以太網的介質訪問規(guī)則,將它們傳送出去。

主機B 收到這個數(shù)據幀后,先檢查它的目的地址,并和本機的物理地址對比,如符合,則接收;否則丟棄。接收后檢查該數(shù)據幀,將IP 數(shù)據包從幀中提取出來,交給本機的IP 層協(xié)議。同樣,IP 層檢查后,將有用的信息提取后交給ICMP 協(xié)議,后者處理后,馬上構建一個 ICMP 應答包,發(fā)送給主機A ,其過程和主機A 發(fā)送ICMP 請求包到主機B 一模一樣。

2. 不同網段

在主機A 上執(zhí)行 “Ping 192.168.1.4”后,開始跟上面一樣,到了怎樣得到MAC 地址時,IP 協(xié)議通過計算發(fā)現(xiàn)D 機與自己不在同一網段內,就直接將交由路由處理,也就是將路由的MAC 取過來,至于怎樣得到路由的MAC ,跟上面一樣,先在ARP 緩存表找,找不到可以利用廣播。路由得到這個數(shù)據幀后,再跟主機D 進行聯(lián)系,如果找不到,就向主機A 返回一個超時的信息。

3、ping 結果分析

ping 的結果分兩種,正常的結果,表明連接性良好,如下:

Pinging 202.105.136.105 with 32 bytes of data:

Reply from 202.105.136.105: bytes=32 time=590ms TTL=114

Reply from 202.105.136.105: bytes=32 time=590ms TTL=114

Reply from 202.105.136.105: bytes=32 time=590ms TTL=114

Reply from 202.105.136.105: bytes=32 time=601ms TTL=114

Ping statistics for 202.105.136.105:

Packets: Sent = 4, Received = 4, Lost = 0 (0 loss),

Approximate round trip times in milli-seconds:

Minimum = 590ms, Maximum = 601ms, Average = 593ms

還有就是不正常的結果,也就是說設備之間的連接性不好。這些結果有:

Request Timed Out

Destination Net Unreachable

Bad IP address

Source quench received

Unknown host

,

No answer

no rout to host

transmit failed,error code:10043

unknown host name

一般我們常遇到的是前四種情況。

轉載請注明自:貝貝實驗室(www.bblab.cn ),謝謝合作! 《ping 命令詳解、過程、結果分析》 原文地址:http://www.bblab.cn/post/151.html

標簽: