PING命令

PING命令

Ping是Windows系列自帶的一個可執行命令。利用它可以檢查網路是否能夠連通,用好它可以很好地幫助我們分析判定網路故障。套用格式:Ping IP位址。該命令還可以加許多參數使用,具體是鍵入Ping按回車即可看到詳細說明。PING (Packet Internet Groper),網際網路包探索器,用於測試網路連線量的程式。Ping傳送一個ICMP(Internet Control Messages Protocol)即網際網路信報控制協定;回聲請求訊息給目的地並報告是否收到所希望的ICMP echo(ICMP回聲應答)。它是用來檢查網路是否通暢或者網路連線速度的命令。作為一個生活在網路上的管理員或者黑客來說,ping命令是第一個必須掌握的DOS命令,它所利用的原理是這樣的:利用網路上機器IP位址的唯一性,給目標IP位址傳送一個數據包,再要求對方返回一個同樣大小的數據包來確定兩台網路機器是否連線相通,時延是多少。

基本信息

工作流程

PING命令PING命令
我們以下面一個網路為例:有A、B、C、D四台機子,一台路由RA,子網掩碼均為255.255.255.0,默認網關為192.168.0.1
1.在同一網段內
在主機A上運行“Ping192.168.0.5”後,都發生了些什麼呢?首先,Ping命令會構建一個固定格式的ICMP請求數據包,然後由ICMP協定將這個數據包連同地址“192.168.0.5”一起交給IP層協定(和ICMP一樣,實際上是一組後台運行的進程),IP層協定將以地址“192.168.0.5”作為目的地
址,本機IP位址作為源地址,加上一些其他的控制信息,構建一個IP數據包,並想辦法得到192.168.0.5的MAC地址(物理地址,這是數據鏈路層協定構建數據鏈路層的傳輸單元——幀所必需的),以便交給數據鏈路層構建一個數據幀。關鍵就在這裡,IP層協定通過機器B的IP位址和自己的子網掩碼,發現它跟自己屬同一網路,就直接在本網路內查找這台機器的MAC,如果以前兩機有過通信,在A機的ARP快取表應該有B機IP與其MAC的映射關係,如果沒有,就發一個ARP請求廣播,得到B機的MAC,一併交給數據鏈路層。後者構建一個數據幀,目的地址是IP層傳過來的物理地址,源地址則是本
機的物理地址,還要附加上一些控制信息,依據乙太網的介質訪問規則,將它們傳送出去。
主機B收到這個數據幀後,先檢查它的目的地址,並和本機的物理地址對比,如符合,則接收;否則丟棄。接收後檢查該數據幀,將IP數據包從幀中提取出來,交給本機的IP層協定。同樣,IP層檢查後,將有用的信息提取後交給ICMP協定,後者處理後,馬上構建一個ICMP應答包,傳送給主機A,其過程和主機A傳送ICMP請求包到主機B一模一樣。
2.不在同一網段內
在主機A上運行“Ping192.168.1.4”後,開始跟上面一樣,到了怎樣得到MAC地址時,IP協定通過計算發現D機與自己不在同一網段內,就直接將交由路由處理,也就是將路由的MAC取過來,至於怎樣得到路由的MAC,跟上面一樣,先在ARP快取表找,找不到就廣播。路由得到這個數據幀後,再跟主機D進行聯繫,如果找不到,就向主機A返回一個逾時的信息。

實例講解

PING命令PING命令
ping就是對一個網址傳送測試數據包,看對方網址是否有回響並統計回響時間,以此測試網路。
具體方式是,開始--運行--cmd,在調出的dos視窗下輸入ping空格+你要ping的網址,回車。
比如“pingXXX網址”之後螢幕會顯示類似信息
PingXXX網址[61.135.169.105]with32bytesofdata:
Replyfrom61.135.169.105:bytes=32time=1244msTTL=46
Replyfrom61.135.169.105:bytes=32time=1150msTTL=46
Replyfrom61.135.169.105:bytes=32time=960msTTL=46
Replyfrom61.135.169.105:bytes=32time=1091msTTL=46
後面的time=1244ms是回響時間,這個時間越小,說明你連線這個地址速度越快。

測試

本機IP

例如本機IP位址為:172.168.200.2。則執行命令Ping172.168.200.2。如果網卡安裝配置沒有問題,則應有類似下列顯示:
Replyfrom172.168.200.2bytes=32time<10ms
Pingstatisticsfor172.168.200.2
PacketsSent=4Received=4Lost=00%loss
Approximateroundtriptimesinmilli-seconds
Minimum=0msMaximum=1msAverage=0ms
如果在MS-DOS方式下執行此命令顯示內容為:Requesttimedout,則表明網卡安裝或配置有問題。將網線斷開再次執行此命令,如果顯示正常,則說明本機使用的IP位址可能與另一台正在使用的機器IP位址重複了。如果仍然不正常,則表明本機網卡安裝或配置有問題,需繼續檢查相關網路配置。

網關IP

假定網關IP為:172.168.6.1,則執行命令Ping172.168.6.1。在MS-DOS方式下執行此命令,如果顯示類似以下信息:
Replyfrom172.168.6.1bytes=32time=9msTTL=255
Pingstatisticsfor172.168.6.1
PacketsSent=4Received=4Lost=0
Approximateroundtriptimesinmilli-seconds
Minimum=1msMaximum=9msAverage=5ms
則表明區域網路中的網關路由器正在正常運行。反之,則說明網關有問題。

遠程IP

這一命令可以檢測本機能否正常訪問Internet。比如本地電信運營商的IP位址為:202.102.48.141。在MS-DOS方式下執行命令:Ping202.102.48.141,如果螢幕顯示:
Replyfrom202.102.48.141bytes=32time=33msTTL=252
Replyfrom202.102.48.141bytes=32time=21msTTL=252
Replyfrom202.102.48.141bytes=32time=5msTTL=252
Replyfrom202.102.48.141bytes=32time=6msTTL=252
Pingstatisticsfor202.102.48.141
PacketsSent=4Received=4Lost=00%loss
Approximateroundtriptimesinmilli-seconds
Minimum=5msMaximum=33msAverage=16ms
則表明運行正常,能夠正常接入網際網路。反之,則表明主機檔案(windows/host)存在問題。

特殊情況

1.對方伺服器(IP)確實與外網下線;
2.對方伺服器拒絕Ping入;
3.對方伺服器拒絕Ping出;
4.自己計算機與外網已經下線。

使用方法

對於Windows下ping命令相信大家已經再熟悉不過了,但是能把ping的功能發揮到最大的人卻並不是很多,當然我也並不是說我可以讓ping發揮最大的功能,我也只不過經常用ping這個工具,也總結了一些小經驗,和大家分享一下。

命令參數

參照ping命令的幫助說明來說說使用中會需要的技巧,ping只有在安裝了TCP/IP協定以後才可以使用:
ping[-t][-a][-ncount][-llength][-f][-ittl][-vtos][-rcount][-scount][-jcomputer-list]|[-kcomputer-list][-wtimeout]destination-list
Options:
-tPingthespecifiedhostuntilstoppedToseestatisticsandcontinue-typeControl-Break;Tostop-typeControl-C.
不停的ping對方主機,直到你按下Control-C。
此功能沒有什麼特別的技巧,不過可以配合其他參數使用,將在下面提到。
-aResolveaddressestohostnames.
解析計算機NetBios名。
示例:C:\>ping-a192.168.1.21
Pingingiceblood.yoforcom[192.168.1.21]with32bytesofdata:
Replyfrom192.168.1.21:bytes=32time<10msTTL=254
Replyfrom192.168.1.21:bytes=32time<10msTTL=254
Replyfrom192.168.1.21:bytes=32time<10msTTL=254
Replyfrom192.168.1.21:bytes=32time<10msTTL=254
Pingstatisticsfor192.168.1.21:
Packets:Sent=4,Received=4,Lost=0(0%loss),Approximateroundtriptimesinmilli-seconds:
Minimum=0ms,Maximum=0ms,Average=0ms
從上面就可以知道IP為192.168.1.21的計算機NetBios名為iceblood.yoforcom。
-ncountNumberofechorequeststosend.
傳送count指定的Echo數據包數。
在默認情況下,一般都只傳送四個數據包,通過這個命令可以自己定義傳送的個數,對衡量網路速度很有幫助,比如我想測試傳送50個數據包的返回的平均時間為多少,最快時間為多少,最慢時間為多少就可以通過以下獲知:
C:\>ping-n50202.103.96.68
Pinging202.103.96.68with32bytesofdata:
Replyfrom202.103.96.68:bytes=32time=50msTTL=241
Replyfrom202.103.96.68:bytes=32time=50msTTL=241
Replyfrom202.103.96.68:bytes=32time=50msTTL=241
Requesttimedout.
………………
Replyfrom202.103.96.68:bytes=32time=50msTTL=241
Replyfrom202.103.96.68:bytes=32time=50msTTL=241
Pingstatisticsfor202.103.96.68:
Packets:Sent=50,Received=48,Lost=2(4%loss),Approximateroundtriptimesinmilli-seconds:
Minimum=40ms,Maximum=51ms,Average=46ms
從以上我就可以知道在給202.103.96.68傳送50個數據包的過程當中,返回了48個,其中有兩個由於未知原因丟失,這48個數據包當中返回速度最快為40ms,最慢為51ms,平均速度為46ms。
-lsizeSendbuffersize.
定義echo數據包大小。
在默認的情況下windows的ping傳送的數據包大小為32byte,我們也可以自己定義它的大小,但有一個大小的限制,就是最大只能傳送65500byte,也許有人會問為什麼要限制到65500byte,因為Windows系列的系統都有一個安全漏洞(也許還包括其他系統)就是當向對方一次傳送的數據包大於或等於65532時,對方就很有可能宕機,所以微軟公司為了解決這一安全漏洞於是限制了ping的數據包大小。雖然微軟公司已經做了此限制,但這個參數配合其他參數以後危害依然非常強大,比如我們就可以通過配合-t參數來實現一個帶有攻擊性的命令:(以下介紹帶有危險性,僅用於試驗,請勿輕易施於別人機器上,否則後果自負)
C:\>ping-l65500-t192.168.1.21
Pinging192.168.1.21with65500bytesofdata:
Replyfrom192.168.1.21:bytes=65500time<10msTTL=254
Replyfrom192.168.1.21:bytes=65500time<10msTTL=254
………………
這樣它就會不停的向192.168.1.21計算機傳送大小為65500byte的數據包,如果你只有一台計算機也許沒有什麼效果,但如果有很多計算機那么就可以使對方完全癱瘓,我曾經就做過這樣的試驗,當我同時使用10台以上計算機ping一台Win2000Pro系統的計算機時,不到5分鐘對方的網路就已經完全癱瘓,網路嚴重堵塞,HTTP和FTP服務完全停止,由此可見威力非同小可。
-fSetDon<|>tFragmentflaginpacket.
在數據包中傳送“不要分段”標誌。
在一般你所傳送的數據包都會通過路由分段再傳送給對方,加上此參數以後路由就不會再分段處理。
-iTTLTimeToLive.
指定TTL值在對方的系統里停留的時間。
此參數同樣是幫助你檢查網路運轉情況的。
-vTOSTypeOfService.
將“服務類型”欄位設定為tos指定的值。
-rcountRecordrouteforcounthops.
在“記錄路由”欄位中記錄傳出和返回數據包的路由。
在一般情況下你傳送的數據包是通過一個個路由才到達對方的,但到底是經過了哪些路由呢?通過此參數就可以設定你想探測經過的路由的個數,不過限制在了9個,也就是說你只能跟蹤到9個路由,如果想探測更多,可以通過其他命令實現,我將在以後的文章中給大家講解。以下為示例:
C:\>ping-n1-r9202.96.105.101(傳送一個數據包,最多記錄9個路由)
Pinging202.96.105.101with32bytesofdata:
Replyfrom202.96.105.101:bytes=32time=10msTTL=249
Route:202.107.208.187->
202.107.210.214->
61.153.112.70->
61.153.112.89->
202.96.105.149->
202.96.105.97->
202.96.105.101->
202.96.105.150->
61.153.112.90
Pingstatisticsfor202.96.105.101:
Packets:Sent=1,Received=1,Lost=0(0%loss),
Approximateroundtriptimesinmilli-seconds:
Minimum=10ms,Maximum=10ms,Average=10ms
從上面我就可以知道從我的計算機到202.96.105.101一共通過了202.107.208.187,202.107.210.214,61.153.112.70,61.153.112.89,202.96.105.149,202.96.105.97這幾個路由。
指定count指定的躍點數的時間戳。
此參數和-r差不多,只是這個參數不記錄數據包返回所經過的路由,最多也只記錄4個。
-jhost-listLoosesourceroutealonghost-list.
利用computer-list指定的計算機列表路由數據包。連續計算機可以被中間網關分隔(路由稀疏源)IP允許的最大數量為9。
-khost-listStrictsourceroutealonghost-list.
利用computer-list指定的計算機列表路由數據包。連續計算機不能被中間網關分隔(路由嚴格源)IP允許的最大數量為9。
-wtimeoutTimeoutinmillisecondstowaitforeachreply.
指定逾時間隔,單位為毫秒。
此參數沒有什麼其他技巧。
另外在win7中
-4強行使用IPv4
-6強行使用IPv6
那樣在區域網路中知道對方主機名字就可知道他們的IPv4地址和IPv6地址了
ping命令的其他技巧:在一般情況下還可以通過ping對方讓對方返回給你的TTL值大小,粗略的判斷目標主機的系統類型是Windows系列還是UNIX/Linux系列,一般情況下Windows系列的系統返回的TTL值在100-130之間,而UNIX/Linux系列的系統返回的TTL值在240-255之間,當然TTL的值在對方的主機里是可以修改的,Windows系列的系統可以通過修改註冊表以下鍵值實現:
[HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\Tcpip\Parameters]
"DefaultTTL"=dword:000000ff
255---FF
128---80
64----40
32----20
Ping是個使用頻率極高的網路診斷程式,用於確定本地主機是否能與另一台主機交換(傳送與接收)數據包。根據返回的信息,你就可以推斷TCP/IP參數是否設定得正確以及運行是否正常。需要注意的是:成功地與另一台主機進行一次或兩次數據報交換並不表示TCP/IP配置就是正確的,你必須執行大量的本地主機與遠程主機的數據報交換,才能確信TCP/IP的正確性。

返回信息

Ping的返回信息有"RequestTimedOut"、"DestinationNetUnreachable"和"BadIPaddress"還有"Sourcequenchreceived"。
"RequestTimedOut"這個信息表示對方主機可以到達到TIMEOUT,這種情況通常是為對方拒絕接收你發給它的數據包造成數據包丟失。大多數的原因可能是對方裝有防火牆或已下線。
"DestinationNetUnreachable"這個信息表示對方主機不存在或者沒有跟對方建立連線。這裡要說明一下"destinationhostunreachable"和"timeout"的區別,如果所經過的路由器的路由表中具有到達目標的路由,而目標因為其它原因不可到達,這時候會出現"timeout",如果路由表中連到達目標的路由都沒有,那就會出現"destinationhostunreachable"。
"BadIPaddress"這個信息表示你可能沒有連線到DNS伺服器所以無法解析這個IP位址,也可能是IP位址不存在。
"Sourcequenchreceived"信息比較特殊,它出現的機率很少。它表示對方或中途的伺服器繁忙無法回應。

測試網路

怎樣使用Ping這命令來測試網路連通呢?
連通問題是由許多原因引起的,如本地配置錯誤、遠程主機協定失效等,當然還包括設備等造成的故障。
首先我們講一下使用Ping命令的步驟。
使用Ping檢查連通性有六個步驟:
1.使用ipconfig/all觀察本地網路設定是否正確;
2.Ping127.0.0.1,127.0.0.1回送地址Ping回送地址是為了檢查本地的TCP/IP協定有沒有設定好;
3.Ping本機IP位址,這樣是為了檢查本機的IP位址是否設定有誤;
4.Ping本網網關或本網IP位址,這樣的是為了檢查硬體設備是否有問題,也可以檢查本機與本地網路連線是否正常;(在非區域網路中這一步驟可以忽略)
5.Ping本地DNS地址,這樣做是為了檢查本地DNS伺服器是否工作正常。
6.Ping遠程IP位址,這主要是檢查本網或本機與外部的連線是否正常。

常見錯誤

在檢查網路連通的過程中可能出現一些錯誤,這些錯誤總的來說分為兩種最常見。
1.RequestTimedOut
"requesttimeout"這提示除了在《PING(一)》提到的對方可能裝有防火牆或已關機以外,還有就是本機的IP不正確和網關設定錯誤。
①、IP不正確:
IP不正確主要是IP位址設定錯誤或IP位址衝突,這可以利用ipconfig/all這命令來檢查。在WIN2000下IP衝突的情況很少發生,因為系統會自動檢測在網路中是否有相同的IP位址並提醒你是否設定正確。在NT中不但會出現"requesttimeout"這提示而且會出現"Hardwareerror"這提示信息比較特殊不要給它的提示所迷惑。
②、網關設定錯誤:這個錯誤可能會在第四個步驟出現。網關設定錯誤主要是網關地址設定不正確或網關沒有幫你轉發數據,還有就是可能遠程網關失效。這裡主要是在你Ping外部網路地址時出錯。錯誤表現為無法Ping外部主機返回信息"Requesttimeout"。
2.DestinationHostUnreachable
當你在開始PING網路計算機時如果網路設備出錯它返回信息會提示"destinationhostunreachable"。如果區域網路中使用DHCP分配IP時,而碰巧DHCP失效,這時使用PING命令就會產生此錯誤。因為在DHCP失效時客戶機無法分配到IP系統只有自設IP,它往往會設為不同子網的IP。所以會出現"DestinationHostUnreachable"。另外子網掩碼設定錯誤也會出現這錯誤。
還有一個比較特殊就是路由返回錯誤信息,它一般都會在"DestinationHostUnreachable"前加上IP位址說明哪個路由不能到達目標主機。這說明你的機器與外部網路連線沒有問題,但與某台主機連線存在問題。

Linux&Unix

與Windows的比較

描述:ping程式使用ICMP協定的強制回顯請求數據報以使主機或網關傳送一份ICMP的回顯應答。回顯請求數據報("pings")含有一個IP及ICMP的報頭,後跟一個``時間值關鍵字''然後是一段任意長度的填充位元組用於把保持分組長度為16的整數倍。
Linux的ping語法和Windows的差不多
但是Linux的Ping數據包是64bytes的而Windows的是32byte
Windows下默認傳送四次數據包,完了之後自己結束,Linux下的ping程式默認不停傳送數據包,直到你手動停止。(停止指令是ctrl+c)
返回數據格式不同
ping[-dfnqrRv][-c<完成次數>][-i<間隔秒數>][-I<網路界面>][-l<前置載入>][-p<範本樣式>][-s<數據包大小>][-t<存活數值>][主機名稱或IP位址]

命令參數

-ccount在傳送(和接收)了正好數量為count的回顯應答分組後停止操作。在傳送了count個分組後沒有收到任何分組的特別情況是傳送導致了終止(選程主機或網關不可達)。
-d在所用的套接字上使用SO_DEBUG選項。
-f以高速方式來作ping。以分組返回的速度來輸出其它分組或每秒輸出百次。當收到每個回顯應答並列印一個退格符時,對每個回顯請求都列印一個句點``.''。這可以快速顯示出丟棄了多少個分組,只有超級用戶可以用這個選項。這(操作)對網路要求非常苛刻,應該慎重使用。
-iwait在傳送每個分組時等待wait個秒數。預設值為每個分組等待一秒。此選項與-f選項不能同時使用。
-lpreload如果指定preload,那么ping程式在開始正常運行模式前儘可能快地傳送分組。同樣只有超級用戶可以用這個選項。
-n只以數字形式輸出信息。這樣就不嘗試去查找主機名了。
-ppattern可以指定最多16個填充位元組用於保持分組長度為16的整數倍。在網路上診斷與數據相關問題時此選項很有用。例如``-pff''將使發出的分組都用全1填充數據區。
-q靜態輸出。在程式啟動和結束時只顯示摘要行。
-R記錄路由。在回顯請求分組中包含記錄路由選項並在相應的分組返回時顯示路由緩衝區。注意IP首部的容量只能存放9條這樣的路由。很多主機忽略或禁用此選項。
-t存活數值:設定存活數值TTL的大小。
-wtimeout指定等待每個回響的最長時間(單位是毫秒)。這個選項僅和-c選項一起才能起作用。它使ping命令以最長的逾時時間去等待應答(傳送最後一個信息包後)。

測試網路

linux的不是ipconfig/all而是ifconfig
怎樣使用Ping這命令來測試網路連通呢?
連通問題是由許多原因引起的,如本地配置錯誤、遠程主機協定失效等,當然還包括設備等造成的故障。
首先我們講一下使用Ping命令的步驟。
使用Ping檢查連通性有六個步驟:
1.使用ifconfig觀察本地網路設定是否正確;
2.Ping127.0.0.1,127.0.0.1回送地址Ping回送地址是為了檢查本地的TCP/IP協定有沒有設定好;
3.Ping本機IP位址,這樣是為了檢查本機的IP位址是否設定有誤;
4.Ping本網網關或本網IP位址,這樣的是為了檢查硬體設備是否有問題,也可以檢查本機與本地網路連線是否正常;(在非區域網路中這一步驟可以忽略)
5.Ping本地DNS地址,這樣做是為了檢查DNS是否能夠將IP位址解析。
6.Ping遠程IP位址,這主要是檢查本網或本機與外部的連線是否正常。

反饋信息

Requesttimedout
a.對方已關機:比如在上圖中主機A中PING192.168.0.7,或者主機B關機了,在主機A中PING192.168.0.5都會得到逾時的信息。
b.對方與自己不在同一網段內,通過路由也無法找到對方,但有時對方確實是存在的,當然不存在也是返回逾時的信息。
c.對方確實存在,但設定了ICMP數據包過濾(比如防火牆設定)
怎樣知道對方是存在,還是不存在呢,可以用帶參數-a的Ping命令探測對方,如果能得到對方的NETBIOS名稱,則說明對方是存在的,是有防火牆設定,如果得不到,多半是對方不存在或關機,或不在同一網段內。
d.錯誤設定IP位址
正常情況下,一台主機應該有一個網卡,一個IP位址,或多個網卡,多個IP位址(這些地址一定要處於不同的IP子網)。但如果一台電腦的“撥號網路適配器”(相當於一塊軟網卡)的TCP/IP設定中,設定了一個與網卡IP位址處於同一子網的IP位址,這樣,在IP層協定看來,這台主機就有兩個不同的接口處於同一網段內。當從這台主機Ping其他的機器時,會存在這樣的問題:
A.主機不知道將數據包發到哪個網路接口,因為有兩個網路接口都連線在同一網段。
B.主機不知道用哪個地址作為數據包的源地址。因此,從這台主機去Ping其他機器,IP層協定會無法處理,逾時後,Ping就會給出一個“逾時無應答”的錯誤信息提示。但從其他主機Ping這台主機時,請求包從特定的網卡來,ICMP只須簡單地將目的、源地址互換,並更改一些標誌即可,ICMP應答包能順利發出,其他主機也就能成功Ping通這台機器了。
DestinationhostUnreachable
對方與自己不在同一網段內,而自己又未設定默認的路由,或者網路上根本沒有這個地址,比如上例中A機中不設定默認的路由,運行Ping192.168.1.4就會出現“DestinationhostUnreachable”。
網線出了故障
這裡要說明一下“destinationhostunreachable”和“timeout”的區別,如果所經過的路由器的路由表中具有到達目標的路由,而目標因為其他原因不可到達,這時候會出現“timeout”,如果路由表中連到達目標的路由都沒有,那就會出現“destinationhostunreachable”。
BadIPaddress
這個信息表示您可能沒有連線到DNS伺服器,所以無法解析這個IP位址,也可能是IP位址不存在。
Sourcequenchreceived
這個信息比較特殊,它出現的機率很少。它表示對方或中途的伺服器繁忙無法回應。
Unknownhost——不知名主機
這種出錯信息的意思是,該遠程主機的名字不能被域名伺服器(DNS)轉換成IP位址。故障原因可能是域名伺服器有故障,或者其名字不正確,或者網路管理員的系統與遠程主機之間的通信線路有故障。
Noanswer——無回響
這種故障說明本地系統有一條通向中心主機的路由,但卻接收不到它發給該中心主機的任何信息。故障原因可能是下列之一:中心主機沒有工作;本地或中心主機網路配置不正確;本地或中心的路由器沒有工作;通信線路有故障;中心主機存在路由選擇問題。
Ping127.0.0.1:127.0.0.1是本地循環地址
如果本地址無法Ping通,則表明本地機TCP/IP協定不能正常工作。
norouttohost:網卡工作不正常
transmitfailed,errorcode:10043網卡驅動不正常
unknownhostname:DNS配置不正確

相關命令

CMD命令

1.gpedit.msc-----組策略
2.sndrec32-------錄音機
3.Nslookup-------IP位址偵測器
4.explorer-------打開資源管理器
5.logoff---------註銷命令
6.tsshutdn-------60秒倒計時關機命令
7.lusrmgr.msc----本機用戶和組
8.services.msc---本地服務設定
9.oobe/msoobe/a----檢查XP是否激活
10.notepad--------打開記事本
11.cleanmgr-------垃圾整理
12.netstartmessenger----開始信使服務
13.compmgmt.msc---計算機管理
14.netstopmessenger-----停止信使服務
15.conf-----------啟動netmeeting
16.dvdplay--------DVD播放器
17.charmap--------啟動字元映射表
18.diskmgmt.msc---磁碟管理實用程式
19.calc-----------啟動計算器
20.dfrg.msc-------磁碟碎片整理程式
21.chkdsk.exe-----Chkdsk磁碟檢查
22.devmgmt.msc---設備管理器
23.regsvr32/u*.dll----停止dll檔案運行
24.drwtsn32------系統醫生
25.rononce-p----15秒關機
26.dxdiag---------檢查DirectX信息
27.regedit-------註冊表編輯器
28.Msconfig.exe---系統配置實用程式
29.rsop.msc-------組策略結果集
30.mem.exe--------顯示記憶體使用情況
31.regedit.exe----註冊表
32.winchat--------XP自帶區域網路聊天
33.progman--------程式管理器
34.winmsd---------系統信息
35.perfmon.msc----計算機性能監測程式
36.sfc/scannow-----掃描錯誤並復原
37.taskmgr-----任務管理器(2000/xp/2003
38.winver---------檢查Windows版本
39.wmimgmt.msc----打開windows管理體系結構(WMI)
40.wupdmgr--------windows更新程式
41.wscript--------windows腳本宿主設定
42.write----------寫字板
43.wiaacmgr-------掃瞄器和照相機嚮導
44..Msconfig.exe---系統配置實用程式
45.mplayer2-------簡易widnowsmediaplayer(媒體播放機)
46.mspaint--------畫圖板
47.mstsc----------遠程桌面連線
48.magnify--------放大鏡實用程式
49.mmc------------打開控制台
50.mobsync--------同步命令
51.dcomcnfg-------打開系統組件服務
52.ddeshare-------打開DDE共享設定
53.nslookup-------網路管理的工具嚮導
54.ntbackup-------系統備份和還原
55.narrator-------螢幕“講述人”
56.ntmsmgr.msc----移動存儲管理器
57.ntmsoprq.msc---移動存儲管理員操作請求
58.netstat-an----(TC)命令檢查接口
59.syncapp--------創建一個公文包
60.sysedit--------系統配置編輯器
61.sigverif-------檔案簽名驗證程式
62.shrpubw--------創建已分享檔案夾
63.secpol.msc-----本地安全策略
64.syskey---------系統加密,一旦加密就不能解開,保護windowsxp系統的雙重密碼
65.services.msc---本地服務設定
66.Sndvol32-------音量控制程式
67.sfc.exe--------系統檔案檢查器
68.tourstart------xp簡介(安裝完成後出現的漫遊xp程式)
69.eventvwr-------事件查看器
70.eudcedit-------造字程式
71.packager-------對象包裝程式
72.regedit.exe----註冊表
73.regsvr32/uzipfldr.dll------取消ZIP支持
74.cmd.exe--------CMD命令提示符
75.chkdsk.exe-----Chkdsk磁碟檢查
76.certmgr.msc----證書管理實用程式
77.cliconfg-------SQLSERVER客戶端網路實用程式
78.Clipbrd--------剪貼簿查看器
79.ciadv.msc------索引服務程式
80.osk------------打開螢幕鍵盤
81.odbcad32-------ODBC數據源管理器
82.iexpress-------木馬捆綁工具,系統自帶
83.fsmgmt.msc-----已分享檔案夾管理器
84.utilman--------輔助工具管理器

UNIX命令

用途
傳送一個回送信號請求給網路主機。
語法
ping[-d][-D][-n][-q][-r][-v][\-R][-aaddr_family][-cCount][-wtimeout][-f|-i\Wait][-lPreload][-pPattern][-sPacketSize][-Shostname/IPaddr]\[-L][-Ia.b.c.d.][-ointerface][-Tttl]Host[PacketSize]\[Count]
描述
/usr/sbin/ping命令傳送一個網際網路控制報文協定(ICMP)ECHO_REQUEST去從主機或網關那裡獲得ICMPECHO_RESPONSE信號。ping命令用於:
*確定網路和各外部主機的狀態。
*跟蹤和隔離硬體和軟體問題。
*測試、評估和管理網路。
如果主機正在運行並連在網上,它就對回送信號進行回響。每個回送信號請求包含一個網際協定(IP)和ICMP頭,後面緊跟一個timeval結構,以及來填寫這個信息包的足夠的位元組。預設情況是連續傳送回送信號請求直到接收到中斷信號(Ctrl+C)。
ping命令每秒傳送一個數據包並且為每個接收到的回響列印一行輸出。ping命令計算信號往返時間和(信息)包丟失情況的統計信息,並且在完成之後顯示一個簡要總結。ping命令在程式逾時或當接收到SIGINT信號時結束。Host參數或者是一個有效的主機名或者是網際網路地址。
預設情況下,ping命令將連續傳送回送信號請求到顯示器直到接收到中斷信號(Ctrl+C).中斷鍵可以使用stty命令來更改。
由於連續回送信號請求會對系統造成一定的負載,重複的請求信號應當主要用作問題隔離。
標誌
-cCount指定要被傳送(或接收)的回送信號請求的數目,由Count變數指出。
-wtimeout這個選項僅和-c選項一起才能起作用。它使ping命令以最長的逾時時間去等待應答(傳送最後一個信息包後)。
-d開始套接字級別的調試。
-D這個選項引起ICMPECHO_REPLY信息包向標準輸出的十六進制轉儲。
-f指定flood-ping選項。-f標誌“傾倒”或輸出信息包,在它們回來時或每秒100次,選擇較快一個。每一次傳送ECHO_REQUEST,都列印一個句號,而每接收到一個ECHO_REPLY信號,就列印一個退格。這就提供了一種對多少信息包被丟棄的信息的快速顯示。僅僅root用戶可以使用這個選項。
註:這在網路上將非常困難,必須小心使用。Floodping命令僅僅root用戶可以使用。-f標誌與-iWait標誌不兼容。
-Ia.b.c.d指定被a.b.c.d標明的接口將被用於向外的IPv4多點廣播。-I標誌是大寫的i。
-ointerface指出interface將被用於向外的IPv6多點廣播。接口以“en0”,“tr0”等的形式指定。
-iWait在每個信息包傳送之間等待被Wait變數指定的時間(秒數)。預設值是在每個信息包傳送之間等待1秒。這個選項與-f標誌不兼容。
-L對多點廣播ping命令禁用本地回送。
-lPreload在進入正常行為模式(每秒1個)前儘快傳送Preload變數指定數量的信息包。-l標誌是小寫的L。
-n指定僅輸出數字。不企圖去查尋主機地址的符號名。
-pPattern指定用多達16個“填充”位元組去填充你傳送的信息包。這有利於診斷網路上依賴數據的問題。例如,-pff全部用1填充信息包。
-q指定靜默輸出。除了在啟動和結束時顯示總結行外什麼也不顯示。
-r忽略路由表直接送到連線的網路上的主機上。如果主機不在一個直接連線的網路上,ping命令將產生一個錯誤訊息。這個選項可以被用來通過一個不再有路由經過的接口去ping一個本地主機。
-R指定記錄路由選項。-R標誌包括ECHO_REQUEST信息包中的RECORD_ROUTE選項,並且顯示返回信息包上的路由緩衝。
註:IP頭僅僅大到適合9個這樣的路由。而且,許多主機和網關忽略這個選項。
-aaddr_family映射ICMP信息包的目的地址到IPv6格式,如果addr_family等於“inet6”的話。
-sPacketSize指定要傳送數據的位元組數。預設值是56,當和8位元組的ICMP頭數據合併時被轉換成64位元組的ICMP數據。
-Shostname/IPaddr將IP位址用作發出的ping信息包中的源地址。在具有不止一個IP位址的主機上,可以使用-S標誌來強制源地址為除了軟體包在其上傳送的接口的IP位址外的任何地址。如果IP位址不是以下機器接口地址之一,則返回錯誤並且不進行任何傳送。
-Tttl指定多點廣播信息包的生存時間為ttl秒。
-v請求詳細輸出,其中列出了除回送信號回響外接收到的ICMP信息。
參數
PacketSize指定了要傳送數據的位元組數。預設值是56,當和8位元組的ICMP頭數據合併時被轉換成64位元組的ICMP數據。包含這個參數是為了和以前的ping命令版本相兼容。
Count指定了要傳送(接收)的回送信號請求的數目。包含這個參數是為了和以前的ping命令版本相兼容。
示例

PING命令PING命令

1.要檢查網路和主機canopus的連線性,並且指定要傳送的回送信號請求的數目,請輸入:
ping-c5canopus
或者
pingcanopus565
類似下列的信息將被顯示:
PINGcanopus.austin.centurycom:(128.116.1.5):56databytes
64.bytesfrom128.116.1.5:icmp_seq=0ttl=255time=2ms
64.bytesfrom128.116.1.5:icmp_seq=1ttl=255time=2ms
64.bytesfrom128.116.1.5:icmp_seq=2ttl=255time=3ms
64.bytesfrom128.116.1.5:icmp_seq=3ttl=255time=2ms
64.bytesfrom128.116.1.5:icmp_seq=4ttl=255time=2ms
----canopus.austin.centurycomPINGStatistics----
5.packetstransmitted,5packetsreceived,0%packetloss
round-tripmin/avg/max=2/2/3ms
2.要想獲取有關主機lear的信息,並且啟動套接字級別的調試,請輸入:
ping-dlear
類似下列的信息將被顯示:
PINGlear.austin.centurycom:(128.114.4.18)56databytes
64.bytesfrom128.114.4.18:icmp_seq=0ttl=255time=6ms
64.bytesfrom128.114.4.18:icmp_seq=1ttl=255time=17ms
64.bytesfrom128.114.4.18:icmp_seq=2ttl=255time=6ms
64.bytesfrom128.114.4.18:icmp_seq=3ttl=255time=6ms
64.bytesfrom128.114.4.18:icmp_seq=4ttl=255time=6ms
^C
----lear.austin.centurycomPINGStatistics----
5.packetstransmitted,5packetsreceived,0%packetloss
round-tripmin/avg/max=6/8/17ms
註:輸出將一直重複直到接收到中斷信號(Ctrl+C)。
3.要獲取有關主機opus的信息,並且指定要傳送的位元組數,請輸入:
ping-s2000opus
或者
pingopus2000
類似下列的信息將被顯示:
PINGopus.austin.centurycom:(129.35.34.234):2000databytes
2008bytesfrom129.35.34.234:icmp_seq=0ttl=255time=20ms
2008bytesfrom129.35.34.234:icmp_seq=1ttl=255time=19ms
2008bytesfrom129.35.34.234:icmp_seq=2ttl=255time=20ms
2008bytesfrom129.35.34.234:icmp_seq=3ttl=255time=20ms
2008bytesfrom129.35.34.234:icmp_seq=4ttl=255time=20ms
2008bytesfrom129.35.34.234:icmp_seq=5ttl=255time=19ms
2008bytesfrom129.35.34.234:icmp_seq=6ttl=255time=19ms
^C
----opus.austin.centurycomPINGStatistics----
7.packetstransmitted,7packetsreceived,0%packetloss
round-tripmin/avg/max=19/19/20ms
註:輸出將一直重複直到接收到中斷信號(Ctrl+C)。
4.要調用flood-ping選項給主機stlopnor,請輸入:
ping-fstlopnor
類似下列的信息將被顯示:
Pingstlopnor.austin.centurycom:(129.35.34.234):56databytes
.^C
----stlopnor.austin.centurycomPINGStatistics----
1098packetstransmitted,1097packetsreceived,0%packetloss
round-tripmin/avg/max=4/4/11
註:flood-ping命令的輸出將一直重複,直到接收到中斷信號(Ctrl+C)。
5.要指定傳送到主機opus信息包的傳送時間間隔為5秒,請輸入:
ping-i5opus
類似下列的信息將被顯示:
PINGopus.austin.centurycom:(129.35.34.234):56databytes
64.bytesfrom129.35.34.234:icmp_seq=0ttl=255time=5ms
64.bytesfrom129.35.34.234:icmp_seq=1ttl=255time=5ms
64.bytesfrom129.35.34.234:icmp_seq=2ttl=255time=6ms
^C
----opus.austin.centurycomPINGStatistics----
3.packetstransmitted,3packetsreceived,0%packetloss
round-tripmin/avg/max=5/5/6ms
註:輸出將一直重複,直到接收到中斷信號(Ctrl+C)。
6.在進入正常行為模式前儘快傳送Preload變數指定的數量的信息包到主機opus,請輸入:
ping-l10opus
類似下列的信息將被顯示:
PINGopus.austin.centurycom:(129.35.34.234):56databytes
64.bytesfrom129.35.34.234:icmp_seq=0ttl=255time=9ms
64.bytesfrom129.35.34.234:icmp_seq=1ttl=255time=11ms
64.bytesfrom129.35.34.234:icmp_seq=2ttl=255time=16ms
64.bytesfrom129.35.34.234:icmp_seq=3ttl=255time=22ms
64.bytesfrom129.35.34.234:icmp_seq=4ttl=255time=26ms
64.bytesfrom129.35.34.234:icmp_seq=5ttl=255time=27ms
64.bytesfrom129.35.34.234:icmp_seq=6ttl=255time=30ms
64.bytesfrom129.35.34.234:icmp_seq=7ttl=255time=31ms
64.bytesfrom129.35.34.234:icmp_seq=8ttl=255time=33ms
64.bytesfrom129.35.34.234:icmp_seq=9ttl=255time=35ms
64.bytesfrom129.35.34.234:icmp_seq=10ttl=255time=36ms
64.bytesfrom129.35.34.234:icmp_seq=11ttl=255time=6ms
64.bytesfrom129.35.34.234:icmp_seq=12ttl=255time=6ms
64.bytesfrom129.35.34.234:icmp_seq=13ttl=255time=6ms
64.bytesfrom129.35.34.234:icmp_seq=14ttl=255time=7ms
64.bytesfrom129.35.34.234:icmp_seq=15ttl=255time=6ms
^C
----opus.austin.centurycomPINGStatistics----
16.packetstransmitted,16packetsreceived,0%packetloss
round-tripmin/avg/max=6/19/36ms
註:輸出將一直重複,直到接收到中斷信號(Ctrl+C)。
7.要診斷網路上依賴數據的問題,請輸入:
ping-pffopus
這個命令用全為1的填充模式傳送信息包給主機opus。類似下列的信息將被顯示:
PATTERN:0xff
PINGopus.austin.centurycom:(129.35.34.234):56databytes
64.bytesfrom129.35.34.234:icmp_seq=0ttl=255time=5ms
64.bytesfrom129.35.34.234:icmp_seq=1ttl=255time=5ms
64.bytesfrom129.35.34.234:icmp_seq=2ttl=255time=5ms
64.bytesfrom129.35.34.234:icmp_seq=3ttl=255time=6ms
64.bytesfrom129.35.34.234:icmp_seq=4ttl=255time=5ms
^C
----opus.austin.centurycomPINGStatistics----
5.packetstransmitted,5packetsreceived,0%packetloss
round-tripmin/avg/max=5/5/6ms
註:輸出將一直重複,直到接收到中斷信號(Ctrl+C)。
8.要指定靜默輸出,請輸入:
ping-qbach
僅僅類似下列的總結信息將被顯示:
PINGbach.austin.centurycom:(129.35.34.234):56databytes
^C
----bach.austin.centurycomPINGStatistics----
5.packetstransmitted,5packetsreceived,0%packetloss
round-tripmin/avg/max=5/5/8ms
註:雖然沒有顯示,信息包的輸出將一直繼續,直到接收到中斷信號(Ctrl+C)。

故障檢查

事實上,無論是什麼類型的故障診斷工具,在一些特殊網路故障面前都會顯得無能為力;此時,我們所能做的就是依靠自己,從使用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命令能夠獲得正確的測試結果。

命令技巧

".0"可以有條件省略
大家常用“ping127.0.0.1”命令在本機上做迴路測試,用來驗證本機的TCP/IP協定簇是否被正確安裝。但你發現了嗎?使用“ping127.1”這個命令也能得到同樣的測試結果(如圖),其實“ping127.1”和“ping127.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”省略,如把“ping127.0.0.1”命令改寫成“ping127.1”。如果這一個或多個“.0”沒有緊挨著最後一部分的十進制數字,而是在其他位置,則這個“.0”不能省略,如“ping202.0.96.1”就不能寫成“ping202.96.1”。這是因為“ping202.96.1”返回的結果是“202.96.0.1”的應答信息,而不是“202.0.96.1”的應答信息。
數字串代替IP位址
在Ping命令中,還可以使用數字串代替IP位址,你相信嗎?運行“ping3658906394”命令,你會看到“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+數字串”命令可能會失敗,出現提示信息“Unknownhost數字串”,這是因為該數字串被解析成主機名了,而不是IP位址。因此,掌握了上述技巧後,網管在進行網路測試或維護時,可以熟練運用“省略”方式,減輕Ping命令的字元輸入量,提高工作效率。同時,使用數字串代替IP位址也可迷惑好奇心強的普通用戶,以免他們胡亂設定。

相關詞條

相關搜尋

熱門詞條

聯絡我們