一、ping簡介
Ping是Windows下的一個命令,在Unix和Linux下也有這個命令。
ping也屬於一個通訊協議,是TCP/IP協議的一部分。
利用“ping”命令可以檢查網路是否連通,可以很好地幫助我們分析和判定
網路故障。應用格式:
Ping空格IP地址。
ping是一個
DOS命令,一般用於檢測網路通或不通 ,也叫
時延,其值越大,速度越慢。
PING (Packet Internet Groper),因特網包探索器,用於測試網路連線量的程式。Ping傳送一個ICMP(Internet Control Messages Protocol)即因特網信報控制協議;回聲請求訊息給目的地並報告是否收到所
它是用來檢查網路是否通暢或者網路連線速度的命令。作為一個生活在網路上的管理員或者黑客來說,ping命令是第一個必須掌握的
DOS命令,它所利用的原理是這樣的:利用網路上機器IP地址的唯一性,給目標
IP地址傳送一個
資料包,再要求對方返回一個同樣大小的資料包來確定兩臺網路機器是否連線相通,
時延是多少。
ping指的是端對端連通,通常用來作為可用性的檢查, 但是某些病毒木馬會強行大量遠端執行ping命令搶佔你的網路資源,導致系統變慢,網速變慢。嚴禁ping入侵作為大多數防火牆的一個基本功能提供給使用者進行選擇。通常的情況下你如果不用作伺服器或者進行網路測試,可以放心的選中它,保護你的電腦。
一、ping命令是用來檢查網路是否通暢或者網路連線速度的命令。
(1)作為一個生活在網路上的管理員或者黑客來說,ping命令是第一個必須掌握的DOS命令,它所利用的原理是這樣的:網路上的機器都有唯一確定的IP地址,我們給目標IP地址傳送一個資料包,對方就要返回一個同樣大小的資料包,根據返回的資料包我們可以確定目標主機的存在,可以初步判斷目標主機的作業系統等。下面就來看看它的一些常用的操作。先看看幫助吧,在DOS視窗中鍵入:ping /? 回車,出現如下圖所示的幫助畫面。
(2)在此,我們只掌握一些基本的很有用的引數就可以了.
參照ping命令的幫助說明來說說使用中會需要的技巧,ping只有在安裝了TCP/IP協議以後才可以使用:
-t 表示將不間斷向目標IP傳送資料包,直到你按下Control-C強迫其停止。試想,如果你使用100M的寬頻接入,而目標IP是56K的小貓,那麼要不了多久,目標IP就因為承受不了這麼多的資料而掉線,呵呵,一次攻擊就這麼簡單的實現了。
-a Resolve addresses to hostnames.解析計算機名。
示例:C:\>ping -a 192.168.1.21
Pinging iceblood.yofor com [192.168.1.21] with 32 bytes of data:
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Ping statistics for 192.168.1.21:
Packets: Sent = 4,Received = 4,Lost = 0 (0% loss),Approximate round trip times in milli-seconds:
Minimum = 0ms,Maximum = 0ms,Average = 0ms
從上面就可以知道IP為192.168.1.21的計算機NetBios名為iceblood.yofor com。
-l 定義傳送資料包的大小,預設為32位元組,我們利用它可以最大定義到65500位元組。結合上面介紹的-t引數一起使用,會有更好的效果哦。
-n 定義向目標IP傳送資料包的次數,預設為3次。如果網路速度比較慢,3次對我們來說也浪費了不少時間,因為現在我們的目的僅僅是判斷目標IP是否存在,那麼就定義為一次吧。說明一下,如果-t 引數和 -n引數一起使用,ping命令就以放在後面的引數為標準,比如“ping IP -t -n 3”,雖然使用了-t引數,但並不是一直ping下去,而是隻ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主機域名,這樣就可以得到主機的IP。
(4)舉例:
ping命令使用舉例
①ping 自己機器的例子 格式:ping IP 如果網路卡安裝配置沒有問題,則應有類似下列顯示:
如果在MS-DOS方式下執行此命令顯示內容為:Request timed out,則表明網路卡安裝或配置有問題。將網線斷開再次執行此命令,如果顯示正常,則說明本機使用的IP地址可能與另一臺正在使用的機器IP地址重複了。如果仍然不正常,則表明本機網路卡安裝或配置有問題,需繼續檢查相關網路配置。
②ping閘道器/路由器的例子
ping閘道器/路由器的IP地址,此例中閘道器/路由器的IP地址為:“10.1.1.254”
例如:
假定閘道器IP為:172.168.6.1,則執行命令Ping 172.168.6.1。在MS-DOS方式下執行此命令,如果顯示類似以下資訊:
Reply from 172.168.6.1 bytes=32 time=9ms TTL=255
Ping statistics for 172.168.6.1
Packets Sent=4 Received=4 Lost=0
Approximate round trip times in milli-seconds
Minimum=1ms Maximum=9ms Average=5ms
③ping中心路由器的例子
ping中心的中心交換機的IP地址“202.120.119.254”
④ping中心主頁伺服器的例子 格式:ping www.cc.shu.edu.cn
ping中心的主頁伺服器的域名“www.cc.shu.edu.cn”
⑤ping上海大學主頁伺服器的例子
ping上海大學的主頁伺服器的域名“www.shu.edu.cn”
⑥ping上海交通大學主頁伺服器的例子
ping上海交通大學的主頁伺服器的域名“www.sjtu.edu.cn”
⑦ping中國教育科研網伺服器的例子
ping中國教育科研網伺服器的域名“www.edu.cn”
⑧ping不通的例子
ping閘道器/路由器的IP地址,此例中閘道器/路由器的IP地址為:“10.1.1.254”
(9)ping 網路地址
(10)遠端IP
這一命令可以檢測本機能否正常訪問
Internet。比如本地電信運營商的IP地址為:202.102.48.141。在MS-DOS方式下執行命令:Ping 202.102.48.141,如果螢幕顯示:
Reply from 202.102.48.141 bytes=32 time=33ms TTL=252
Reply from 202.102.48.141 bytes=32 time=21ms TTL=252
Reply from 202.102.48.141 bytes=32 time=5ms TTL=252
Reply from 202.102.48.141 bytes=32 time=6ms TTL=252
Ping statistics for 202.102.48.141
Packets Sent=4 Received=4 Lost=0 0% loss
Approximate round trip times in milli-seconds
Minimum=5ms Maximum=33ms Average=16ms
則表明執行正常,能夠正常接入網際網路。反之,則表明主機檔案(windows/host)存在問題。
特殊情況:
1.對方伺服器(IP)確實與外網斷開連線;
2.對方伺服器拒絕Ping入;
3.對方伺服器拒絕Ping出;
4.自己計算機與外網已經斷開連線。
(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網路卡驅動不正常
故障檢查
事實上,無論是什麼型別的故障診斷工具,在一些特殊網路故障面前都會顯得無能為力;此時,我們所能做的就是依靠自己,從使用Ping命令開始,手工逐步排查故障原因。
首先對本地工作站的迴圈地址127.0.0.1進行ping測試。當遇到一些無法直接找到故障原因的特殊網路故障時,我們首先需要使用Ping命令測試一下本地工作站的迴圈地址127.0.0.1能否被正常Ping通,倘若該地址無法被正常Ping通的話,那麼說明本地工作站的TCP/IP協議程式受到了破壞,或者網路卡裝置發生了損壞。
此時,我們不妨開啟本地工作站系統的
裝置管理器視窗,從中找到網路卡裝置選項,並用滑鼠右鍵單擊該選項,從彈出的快捷選單中執行“屬性”命令,開啟網路卡裝置的屬性設定視窗,在該視窗的“常規”標籤頁面中我們就能看到當前的網路卡工作狀態是否正常了。
當發現網路卡工作狀態正常的話,那很有可能是本地工作站的TCP/IP協議程式受到了破壞,此時我們不妨開啟本地連線屬性設定視窗,選中並刪除該設定視窗中的TCP/IP協議選項,之後再重新安裝一下TCP/IP協議程式,相信這麼一來本地工作站的迴圈地址127.0.0.1就能被正常Ping通了。
其次對本地工作站的IP地址進行ping測試。在確認127.0.0.1地址能夠被Ping通的情況下,我們繼續使用Ping命令測試一下本地工作站的靜態IP地址是否能被正常Ping通,倘若該地址不能被正常Ping通的話,那麼說明本地工作站的網路卡引數沒有設定正確,或者網路卡驅動程式不正確,也有可能是本地的路由表受到了破壞。
此時我們可以重新檢查一下本地工作站的網路引數是否設定正確,如果在網路引數設定正確的情況下仍然無法Ping通本地IP地址的話,我們最好重新安裝一下網路卡裝置的原裝驅動程式,相信這麼一來我們就能正確Ping通本地工作站的靜態IP地址了。一旦本地工作站的靜態IP地址被順利Ping通的話,那就表明本地工作站已經能夠加入到區域網網路中了。
接著對本地區域網的預設閘道器地址進行ping測試。由於本地工作站是通過閘道器與區域網中的其他工作站進行相互通訊的,只有本地工作站與預設閘道器之間連線正常,才能確保本地工作站與其他工作站通訊正常。倘若閘道器地址能被正常Ping通的話,那就表明本地工作站可以與區域網中的其他工作站進行正常通訊。
要是Ping命令操作不成功的話,那很有可能是閘道器裝置自身存在問題,或者是本地工作站與閘道器之間的線路連線不正常,也有可能是本地工作站與閘道器沒有設定成同一個
子網中。此時,我們可以先用專業的線纜測試工具測試一下網路線纜的連通性,線上纜連通性正常的情況下,再檢查本地工作站的網路引數是否與閘道器的引數設定成同一個
子網中。
倘若網路引數設定正確的話,我們再從其他工作站Ping一下閘道器地址,以便確認閘道器自身是否存在原因,如果
區域網中的其他工作站也無法Ping通閘道器的話,那多半是閘道器裝置自身存在問題,這個時候我們只要將故障排查重點鎖定在閘道器裝置上就可以了。
下面對區域網中任意一臺遠端工作站的IP地址進行ping測試,以便檢驗本地工作站能否通過閘道器裝置與區域網中的其他工作站進行通訊。要是我們發現遠端工作站的IP地址無法Ping通的話,那很有可能是遠端工作站自身無法響應,或者是遠端工作站與閘道器裝置之間的線路連線出現了問題,此時我們可以將
網路故障的排查重點聚焦到遠端工作站上或者是區域網的網路裝置上。
最後對區域網的遠端工作站主機名稱進行ping測試。在確認能夠Ping通遠端工作站IP地址的情況下,仍然出現無法訪問遠端工作站內容的時候,我們就有必要進行這一項測試操作。如果該主機名稱無法被Ping成功的話,那很有可能是DNS解析出現了問題,而不是網路連線發生了故障,此時我們不妨把故障檢查重點鎖定在DNS伺服器上。
小提示:為了有效地找出網路故障原因,我們在使用Ping命令進行測試檢查時,儘量確保區域網中只配置了一個閘道器且要ping的主機保持正常的使用狀態,同時確保本地工作站沒有啟用IP安全設定策略,這樣可以保證Ping命令能夠獲得正確的測試結果
命令技巧
(1)".0"可以有條件省略
大家常用“ping 127.0.0.1”命令在本機上做迴路測試,用來驗證本機的
TCP/IP協議簇是否被正確安裝。但你發現了嗎?使用“ping 127.1”這個命令也能得到同樣的測試結果(如圖),其實“ping 127.1”和“ping 127.0.0.1”這兩條命令是一樣的,都是在進行迴路測試。為什麼會這樣呢?這就是Ping命令應用中IP地址的使用技巧。大家都知道,IP地址由32位二進位制數字組成,為了方便大家記憶,將每8位二進位制數字換算成十進位制數字,因此就形成了容易記憶的由四部分十進位制數字組成的IP地址(如127.0.0.1)。由於,
Windows作業系統具有自動填充“.0”的功能,因此我就可將“
127.0.0.1”變為“127.1”。但是,這個“.0”的省略是有條件限制的,並不能任意省略。在Ping命令的應用中,只能將在IP地址的最後一部分
十進位制數字前出現的一個或多個“.0”省略,如把“ping 127.0.0.1”命令改寫成“ping 127.1”。如果這一個或多個 “.0”沒有緊挨著最後一部分的十進位制數字,而是在其他位置,則這個“.0”不能省略,如“ping 202.0.96.1”就不能寫成“ping 202.96.1”。這是因為“ping 202.96.1”返回的結果是“202.96.0.1”的應答資訊,而不是“202.0.96.1”的應答資訊。
(2)數字串代替IP地址
在Ping命令中,還可以使用數字串代替IP地址,你相信嗎?執行“ping 3658906394”命令,你會看到“218.22.123.26”這個IP地址的返回資訊。為什麼會這樣呢?其實,“3658906394”就是IP地址“218.22.123.26”的另一種表示形式。當然,也可按同樣的方法Ping其他的IP地址。
字串是如何轉換而來的呢?其實並不複雜,以“218.22.123.26”這個IP地址為例,IP地址轉換成數字串方法如下:先將“218.22.123.26”轉換為
十六進位制“DA.16.7B.1A”,然後去掉小數點後,變為“DA167B1A”,最後將這個
十六進位制數轉換為
十進位制“3658906394”,那麼“218.22.123.26”就變為“3658906394”了。其他IP地址轉換為數字串也是使用同樣的方法。提示:在某些
區域網環境中,使用“Ping+數字串”命令可能會失敗,出現提示資訊“Unknown host數字串”,這是因為該數字串被解析成主機名了,而不是IP地址。因此,掌握了上述技巧後,網管在進行網路測試或維護時,可以熟練運用“省略”方式,減輕Ping命令的字元輸入量,提高工作效率。同時,使用數字串代替IP地址也可迷惑好奇心強的普通使用者,以免他們胡亂設定。
其他:
返回到上一級目錄 cd ..
返回到根目錄 cd \
返回到指定的盤 cd f:\ cd c:\(如果是 cd f: 則顯示為 f:\110)
進入資料夾 cd name (資料夾名字,不區分大小寫)