Ping是一種被廣泛使用的網絡診斷工具,是TCP/IP協議的一部分,工作在應用層。Ping命令在Windows、unix和Linux系統下都可使用,能夠幫助用戶檢查網絡是否連通,分析和判斷網絡故障。
Ping的應用場景包括網絡連通性測試、網絡延遲測量、路由跟蹤、網絡性能評估等,是網絡故障診斷和性能評估中的基礎工具之一,憑借其簡便性和有效性,Ping在網絡管理和維護工作中占有不可或缺的地位。Ping通過發送ICMP(Internet Control Message Protocol,因特網報文控制協議)回顯請求(Echo Request)消息到指定的IP地址或域名,并監聽回顯應答(Echo Reply)消息,來測試網絡接口間的連通性。
定義
ping用于確定本地主機是否能與另一臺主機成功交換(發送與接收)數據包,再根據返回的信息,就可以推斷TCP/IP參數是否設置正確,以及運行是否正常、網絡是否通暢等。Ping命令可以進行以下操作??:
①通過將ICMP(Internet控制消息協議)回顯數據包發送到計算機并偵聽回顯回復數據包來驗證與一臺或多臺遠程計算機的連接。
②每個發送的數據包最多等待一秒。
③打印已傳輸和接收的數據包數。
需要注意的是,Ping成功并不一定就代表TCP/IP配置正確,有可能還要執行大量的本地主機與遠程主機的數據包交換,才能確信TCP/IP配置的正確性。如果執行ping成功而網絡仍無法使用,那么問題很可能出在網絡系統的軟件配置方面,ping成功只保證當前主機與目的主機間存在一條連通的物理路徑??。
實現方式
ICMPPing
ICMP是一種將差錯與控制集于一體的協議,不僅用于傳輸差錯報文,還用于消息控制報文。它與IP協議相互依賴:IP在發送一個差錯或控制報文時要用到ICMP,而ICMP利用IP來傳遞報文??。
ICMP報文分為信息報文、差錯報文、控制報文。信息報文一般由客戶端發出,例如用于測試目的地址可達性的回應請求/應答報文;而差錯報文一般由服務器或是路由器發出,表示網絡或主機不能完成要求的服務。當發送一份ICMP差錯報文時,文始終包含了IP首部和產生ICMP差錯報文的IP數據報的前8個字節??。
ICMP Ping就是向目標主機發送ICMP信息報文,目標主機(有時是路由器)回應ICMP信息報文或差錯報文,Ping程序根據這些收到的ICMP報文,以知道目標主機的可達性。可用于Ping的信息報文有:回應請求與響應報文、時間戳請求與響應報文和掩碼請求與響應報文??。
TCPPing
在進行ICMPPing的時候,如果在目標主機的網絡網關過濾了ICMP Ping包,ICMPPing的結果就不準確了。此時,應該考慮其他方式,如TCPPing、LIDPPing。TCP的功能是在一對ULP(UpperLayerProtocol,高層協議)之間提供的數據報服務基礎上,建立可靠的端對端連接,并提供虛電路服務和面向數據流的傳輸服務。TCP中的基本傳輸單元是段(Segment),一個TCP段由段頭和數據流兩部分組成??。
在TCP協議中,SYN包用來表示建立連接請求。如果對方端口處在listening狀態,就會回送ACK包,并附上自己的ISN。但是如果對方端口是關閉的,它會發回一個RST包,表示應該馬上斷開連接(少數情況下會發回一個同時置SYN和ACK位的包)。如果人們向一個端口發送ACK包,而事先沒有與此端口建立連接,那么,無論端口是否打開,它都會回送一個RST包。所以可以看出,無論這個端口是否打開,總會有某一種數據包返回,以此可以判定目標主機可達。而目標主機如果不可達,路由器就會向掃描主機發送目的地不可達的ICMP報文。這樣,通過向目標主機發送TCPSYN包或TCPACK包就可以準確判斷目標主機是否可達,而且根據RFC793(TCP),目標主機(或路由器)都無法屏蔽TCPSYN包和TCPACK包,因此,TCPPing的準確性比ICMPPing的準確性要高。在實現的時候,需要利用RAW Socket,定制TCP包并封裝在IP包中。在Linux下,非root用戶是沒有此項權利的,同樣Windows的非.Administrator組用戶也不能直接填寫TCP包頭和IP包頭??。
UDPPing
在TCP/IP協議組中,用戶數據報協議(UDP)提供應用進程之間數據報傳送的基本機制。每個UDP報文不僅傳送用戶數據,而且還包括發送方和接收方的協議端口號??。
UDPPing與TCPPing的原理類似,通過RAWSocket定制UDP包,主要是格式化UDP包中的目的端口號,一般指定一個數量值很大的目的端口號(比如31558),很少應用程序用到數量值入的端口號,也就是說該端口很有可能是處于關閉狀態。首先構建好UDP報文,然后遞交給IP實體發送。如果目標主機不可達(網絡不通或主機未打開),則路由器將發送一個目的不可達ICMP報文。而如果目標主機可達,在其接收數據時,其UDP實體首先判斷接收到的目的端口號是否與當前使用的某端口號匹配,如果匹配,則將數據報放入到對應的接收隊列,否則如果目的端口號對應的端口關閉則丟棄該數據報,并回送一個“端口不可達”的ICMP報文,因此,只要目標主機可達,UDPPing程序將收到一個UDP回應包(也可能沒有)或者“端口不可達”的ICMP報文而目標主機不可達,將收到“目的不可達’’的ICMP報文??。
概述
PING (Packet Internet Groper),因特網包探索器,用于測試網絡連接量的程序。Ping發送一個ICMP(Internet Control Messages Protocol)即因特網信報控制協議;回聲請求消息給目的地并報告是否收到所希望的ICMPecho (ICMP回聲應答)。它是用來檢查網絡是否通暢或者網絡連接速度的命令。作為一個生活在網絡上的管理員或者黑客來說,ping命令是第一個必須掌握的DOS命令,它所利用的原理是這樣的:利用網絡上機器IP地址的唯一性,給目標IP地址發送一個數據包,再要求對方返回一個同樣大小的數據包來確定兩臺網絡機器是否連接相通,時延是多少。
ping指的是端對端連通,通常用來作為可用性的檢查,但是某些病毒木馬會強行大量遠程執行ping命令搶占你的網絡資源,導致系統變慢,網速變慢。嚴禁ping入侵作為大多數防火墻的一個基本功能提供給用戶進行選擇。通常的情況下你如果不用作服務器或者進行網絡測試,可以放心的選中它,保護你的電腦。
工作流程
人們以下面一個網絡為例:有A、B、C、D四臺機子,一臺路由RA,子網掩碼均為255.255.255.0,默認網關為192.168.0.1
1.在同一網段內
在主機A上運行“Ping 192.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上運行“Ping 192.168.1.4”后,開始跟上面一樣,到了怎樣得到MAC地址時,IP協議通過計算發現D機與自己不在同一網段內,就直接將交由路由處理,也就是將路由的MAC取過來,至于怎樣得到路由的MAC,跟上面一樣,先在ARP緩存表找,找不到就廣播。路由得到這個數據幀后,再跟主機D進行聯系,如果找不到,就向主機A返回一個超時的信息。
實例講解
ping就是對一個網址發送測試數據包,看對方網址是否有響應并統計響應時間,以此測試網絡。
具體方式是,開始--運行--cmd,在調出的dos窗口下輸入 ping 空格 + 你要ping的網址,回車。
比如“ pingXXX網址”之后屏幕會顯示類似信息
Ping XXX 網址[61.135.169.105] with 32 bytes of 數據:
Reply from 61.135.169.105: bytes=32 時間=1244ms TTL=46
Reply from 61.135.169.105: bytes=32 time=1150ms TTL=46
Reply from 61.135.169.105: bytes=32 time=960ms TTL=46
Reply from 61.135.169.105: bytes=32 time=1091ms TTL=46
后面的time=1244ms 是響應時間,這個時間越小,說明你連接這個地址速度越快。
PING測試
查看本地的TCP/IP協議是否設置好,輸入命令:ping 空格127.0.0.1 如果接受和發送的數據都相等那就是完好的(如下圖):
圖片文字對應翻譯:
正在 Ping 127.****具有32字節的數據:
來自 127.0.*** 的回復:字節=32 時間〈1ms TTL=64
來自 ********************************************
127.0.0.1的ping 統計信息:
數據包:已發送=4,已接收=4,丟失=0 〈0%丟失〉,
往返行程的估計時間以毫秒為單位:
最短=0ms,最長=0ms,平均=0ms
本機IP
例如本機IP地址為:172.168.200.2。則執行命令Ping 172.168.200.2。如果網卡安裝配置沒有問題,則應有類似下列顯示:
Reply from 172.168.200.2 bytes=32 time<10ms
Ping statistics for 172.168.200.2
Packets Sent=4 Received=4 Lost=0 0% loss
Approximate round trip times in milli-seconds
Minimum=0ms Maximum=1ms 平均數=0ms
如果在MS-DOS方式下執行此命令顯示內容為:Request timed out,則表明網卡安裝或配置有問題。將網線斷開再次執行此命令,如果顯示正常,則說明本機使用的IP地址可能與另一臺正在使用的機器IP地址重復了。如果仍然不正常,則表明本機網卡安裝或配置有問題,需繼續檢查相關網絡配置。
網關IP
假定網關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
則表明局域網中的網關路由器正在正常運行。反之,則說明網關有問題。
遠程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 平均數=16ms
則表明運行正常,能夠正常接入互聯網。反之,則表明主機文件(windows/host)存在問題。
特殊情況
1.對方服務器(IP)確實與廣域網斷開連接;
2.對方服務器拒絕Ping入;
3.對方服務器拒絕Ping出;
4.自己計算機與外網已經斷開連接。
使用方法
對于Windows下ping命令相信大家已經再熟悉不過了,但是能把ping的功能發揮到最大的人卻并不是很多,當然我也并不是說我可以讓ping發揮最大的功能,我也只不過經常用ping這個工具,也總結了一些小經驗,和大家分享一下。
命令參數
參照ping命令的幫助說明來說說使用中會需要的技巧,ping只有在安裝了TCP/IP協議以后才可以使用:
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
說明:通常情況下,XP以上系統的ping命令幫助顯示的是中文,故無需翻譯。
Options:
-t Ping the specified host until stopped To see statistics and continue - type ctrlBreak;To stop - type Control-C.
不停的ping對方主機,直到你按下Control-C。
此功能沒有什么特別的技巧,不過可以配合其他參數使用,將在下面提到。
-a Resolve addresses to hostnames.
解析計算機NetBios名。
示例:C:\>ping -a 192.168.1.21
Pinging iceblood.yofor com [192.168.1.21] with 32 bytes of 數據:
Reply from 192.168.1.21: bytes=32 時間<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,平均數 = 0ms
從上面就可以知道IP為192.168.1.21的計算機NetBios名為iceblood.yofor com。
-n count Number of echo requests to send.
發送count指定的Echo數據包數。
在默認情況下,一般都只發送四個數據包,通過這個命令可以自己定義發送的個數,對衡量網絡速度很有幫助,比如我想測試發送50個數據包的返回的平均時間為多少,最快時間為多少,最慢時間為多少就可以通過以下獲知:
C:\>ping -n 50 202.103.96.68
Pinging 202.103.96.68 with 32 bytes of 數據:
Reply from 202.103.96.68: bytes=32 時間=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Request timed out.
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Ping statistics for 202.103.96.68:
Packets: Sent = 50,Received = 48,Lost = 2 (4% loss),Approximate round trip times in milli-seconds:
Minimum = 40ms,Maximum = 51ms,平均數 = 46ms
從以上我就可以知道在給202.103.96.68發送50個數據包的過程當中,返回了48個,其中有兩個由于未知原因丟失,這48個數據包當中返回速度最快為40ms,最慢為51ms,平均速度為46ms。
-l size Send buffer size.
定義echo數據包大小。
在默認的情況下windows的ping發送的數據包大小為32字節,人們也可以自己定義它的大小,但有一個大小的限制,就是最大只能發送65500byte,也許有人會問為什么要限制到65500byte,因為Windows系列的系統都有一個安全漏洞(也許還包括其他系統)就是當向對方一次發送的數據包大于或等于65532時,對方就很有可能宕機,所以微軟為了解決這一安全漏洞于是限制了ping的數據包大小。雖然微軟公司已經做了此限制,但這個參數配合其他參數以后危害依然非常強大,比如人們就可以通過配合-t參數來實現一個帶有攻擊性的命令:(以下介紹帶有危險性,僅用于試驗,請勿輕易施于別人機器上,否則后果自負)
C:\>ping -l 65500 -t 192.168.1.21
Pinging 192.168.1.21 with 65500 bytes of 數據:
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
………………
這樣它就會不停的向192.168.1.21計算機發送大小為65500字節的數據包,如果你只有一臺計算機也許沒有什么效果,但如果有很多計算機那么就可以使對方完全癱瘓,我曾經就做過這樣的試驗,當我同時使用10臺以上計算機ping一臺Win2000Pro系統的計算機時,不到5分鐘對方的網絡就已經完全癱瘓,網絡嚴重堵塞,HTTP和FTP服務完全停止,由此可見威力非同小可。
-f Set Don<|>t Fragment flag in packet.
在數據包中發送“不要分段”標志。
TTL(生存時間值)
TTL的作用是限制IP數據包在計算機網絡中的存在的時間。TTL的最大值是255,TTL的一個推薦值是64。
在一般你所發送的數據包都會通過路由分段再發送給對方,加上此參數以后路由就不會再分段處理。
-i TTL Time To Live.
指定TTL值在對方的系統里停留的時間。
此參數同樣是幫助你檢查網絡運轉情況的。
-v TOS Type Of Service.
將“服務類型”字段設置為 tos 指定的值。
-r count Record route for count hops.
在“記錄路由”字段中記錄傳出和返回數據包的路由。
在一般情況下你發送的數據包是通過一個個路由才到達對方的,但到底是經過了哪些路由呢?通過此參數就可以設定你想探測經過的路由的個數,不過限制在了9個,也就是說你只能跟蹤到9個路由,如果想探測更多,可以通過其他命令實現,我將在以后的文章中給大家講解。以下為示例:
C:\>ping -n 1 -r 9 202.96.105.101 (發送一個數據包,最多記錄9個路由)
Pinging 202.96.105.101 with 32 bytes of 數據:
Reply from 202.96.105.101: bytes=32 時間=10ms TTL=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
Ping statistics for 202.96.105.101:
Packets: Sent = 1,Received = 1,Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 10ms,Maximum = 10ms,平均數 = 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這幾個路由。
此參數和-r差不多,只是這個參數不記錄數據包返回所經過的路由,最多也只記錄4個。
-j host-list Loose source route along host-list.
利用 computer-list 指定的計算機列表路由數據包。連續計算機可以被中間網關分隔(路由稀疏源)IP 允許的最大數量為 9。
-k 宿主list Strict source route along host-list.
利用 computer-list 指定的計算機列表路由數據包。連續計算機不能被中間網關分隔(路由嚴格源)IP 允許的最大數量為 9。
-w timeout Timeout in milliseconds to wait for each reply.
指定超時間隔,單位為毫秒。
此參數沒有什么其他技巧。
另外 在Windows 7中
-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\sys tem\CurrentControlSet\Services\Tcpip\Parameters]
"DefaultTTL"=dword:000000ff
255---FF
128---80
64----40
32----20
Ping是個使用頻率極高的網絡診斷程序,用于確定本地主機是否能與另一臺主機交換(發送與接收)數據包。根據返回的信息,你就可以推斷TCP/IP參數是否設置得正確以及運行是否正常。需要注意的是:成功地與另一臺主機進行一次或兩次數據報交換并不表示TCP/IP配置就是正確的,你必須執行大量的本地主機與遠程主機的數據報交換,才能確信TCP/IP的正確性。
返回信息
Ping的返回信息有"Request Timed Out"、"Destination Net Unreachable"和"Bad IP address"還有"Source quench received"。
"Request Timed Out"這個信息表示對方主機可以到達到TIME OUT,這種情況通常是為對方拒絕接收你發給它的數據包造成數據包丟失。大多數的原因可能是對方裝有防火墻或已下線。
"Destination Net Unreachable"這個信息表示對方主機不存在或者沒有跟對方建立連接。這里要說明一下"destination host unreachable"和"time out"的區別,如果所經過的路由器的路由表中具有到達目標的路由,而目標因為其它原因不可到達,這時候會出現"time out",如果路由表中連到達目標的路由都沒有,那就會出現"destination host unreachable"。
"Bad IP address" 這個信息表示你可能沒有連接到DNS服務器所以無法解析這個IP地址,也可能是IP地址不存在。
"Source quench received"信息比較特殊,它出現的機率很少。它表示對方或中途的服務器繁忙無法回應。
常見錯誤
在檢查網絡連通的過程中可能出現一些錯誤,這些錯誤總的來說分為兩種最常見。
1. Request Timed Out
"request time out"這提示除了在《PING(一)》提到的對方可能裝有防火墻或已關機以外,還有就是本機的IP不正確和網關設置錯誤。
①、IP不正確:
IP不正確主要是IP地址設置錯誤或IP地址沖突,這可以利用ipconfig /all這命令來檢查。在Windows 2000下IP沖突的情況很少發生,因為系統會自動檢測在網絡中是否有相同的IP地址并提醒你是否設置正確。在NT中不但會出現"request 時間 out"這提示而且會出現"Hardware error"這提示信息比較特殊不要給它的提示所迷惑。
②、網關設置錯誤:這個錯誤可能會在第四個步驟出現。網關設置錯誤主要是網關地址設置不正確或網關沒有幫你轉發數據,還有就是可能遠程網關失效。這里主要是在你Ping外部網絡地址時出錯。錯誤表現為無法Ping外部主機返回信息"Request timeout"。
2. Destination Host Unreachable
當你在開始PING網絡計算機時如果網絡設備出錯它返回信息會提示"destination host unreachable"。如果局域網中使用DHCP分配IP時,而碰巧DHCP失效,這時使用 PING命令就會產生此錯誤。因為在DHCP失效時客戶機無法分配到IP系統只有自設IP,它往往會設為不同子網的IP。所以會出現"Destination Host Unreachable"。另外子網掩碼設置錯誤也會出現這錯誤。
還有一個比較特殊就是路由返回錯誤信息,它一般都會在"Destination Host Unreachable"前加上IP地址說明哪個路由不能到達目標主機。這說明你的機器與外部網絡連接沒有問題,但與某臺主機連接存在問題。
Linux&Unix
如右圖是linux的ping指令
與Windows的比較
描述:ping 程序使用 ICMP 協議的強制回顯請求數據報以使主機或網關發送一份ICMP的回顯應答。回顯請求數據報("pings")含有一個IP及ICMP的報頭,后跟一個``時間值關鍵字''然后是一段任意長度的填充字節用于把保持分組長度為16的整數倍。
Linux的ping語法和Windows的差不多
但是Linux的Ping數據包是64bytes的 而Windows的是32byteWindows下默認發送四次數據包,完了之后自己結束,Linux下的ping程序默認不停發送數據包,直到你手動停止。(停止指令是ctrl+c)
返回數據格式不同
ping [-dfnqrRv][-c<完成次數>][-i<間隔秒數>][-I<網絡界面>][-l<前置載入>][-p<范本樣式>][-s<數據包大小>][-t<存活數值>][主機名稱或IP地址]
-c 計數 在發送(和接收)了正好數量為count的回顯應答分組后停止操作。在發送了 count個分組后沒有收到任何分組的特別情況是發送導致了終止(選程主機或網關不可達)。
-d 在所用的套接字上使用 SO_DEBUG 選項。
-f 以高速方式來作ping。以分組返回的速度來輸出其它分組或每秒輸出百次。當收到每個回顯應答并打印一個退格符時,對每個回顯請求都打印一個句點``.''。這可以快速顯示出丟棄了多少個分組,只有超級用戶可以用 這個選項。這(操作)對網絡要求非常苛刻,應該慎重使用。
-i wait 在發送每個分組時等待wait個秒數。缺省值為每個分組等待一秒。此選項 與-f選項不能同時使用。
-l preload 如果指定preload,那么ping程序在開始正常運行模式前盡可能快地發送分組。同樣只有超級用戶可以用這個選項。
-n 只以數字形式輸出信息。這樣就不嘗試去查找主機名了。
-p pattern 可以指定最多16個填充字節用于保持分組長度為16的整數倍。在網絡上診斷與數據相關問題時此選項很有用。例如``-pff''將使發出的分組都用全 1填充數據區。
-q 靜態輸出。在程序啟動和結束時只顯示摘要行。
-R 記錄路由。在回顯請求分組中包含記錄路由選項并在相應的分組返回時顯示路由緩沖區。注意IP首部的容量只能存放9條這樣的路由。很多主機忽略或禁用此選項。
-t 存活數值:設置存活數值TTL的大小。
-w timeout 指定等待每個響應的最長時間(單位是毫秒)。這個選項僅和-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地址,這主要是檢查本網或本機與外部的連接是否正常。
反饋信息
Request timed out
a.對方已關機:比如在上圖中主機A中PING 192.168.0.7,或者主機B關機了,在主機A中PING 192.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通這臺機器了。
Destination 宿主 Unreachable
對方與自己不在同一網段內,而自己又未設置默認的路由,或者網絡上根本沒有這個地址,比如上例中A機中不設定默認的路由,運行Ping 192.168.1.4就會出現“Destination host Unreachable”。
網線出了故障
這里要說明一下“destination host unreachable”和“time out”的區別,如果所經過的路由器的路由表中具有到達目標的路由,而目標因為其他原因不可到達,這時候會出現“time out”,如果路由表中連到達目標的路由都沒有,那就會出現“destination host unreachable”。
Bad IP address
這個信息表示您可能沒有連接到DNS服務器,所以無法解析這個IP地址,也可能是IP地址不存在。
Source quench received
這個信息比較特殊,它出現的機率很少。它表示對方或中途的服務器繁忙無法回應。
Unknown host——不知名主機
這種出錯信息的意思是,該遠程主機的名字不能被域名服務器(DNS)轉換成IP地址。故障原因可能是域名服務器有故障,或者其名字不正確,或者網絡管理員的系統與遠程主機之間的通信線路有故障。
No answer——無響應
這種故障說明本地系統有一條通向中心主機的路由,但卻接收不到它發給該中心主機的任何信息。故障原因可能是下列之一:中心主機沒有工作;本地或中心主機網絡配置不正確;本地或中心的路由器沒有工作;通信線路有故障;中心主機存在路由選擇問題。
Ping 127.0.0.1:127.0.0.1是本地循環地址
如果本地址無法Ping通,則表明本地機TCP/IP協議不能正常工作。
no rout to host:網卡工作不正常
transmit failed,error code:10043網卡驅動不正常
unknown host name:DNS配置不正確
相關命令
CMD命令
1. gpedit.地中海航運公司組策略
2. sndrec32-------錄音機
3. Nslookup-------IP地址偵測器
4. explorer-------打開File Explorer
5. logoff---------注銷命令
6. tsshutdn-------60秒倒計時關機命令
7. lusrmgr.msc----本機用戶和組
8. services.msc---本地服務設置
9. oobe/msoobe /a----檢查XP是否激活
10. notepad--------打開記事本
11. cleanmgr-------磁盤清理
12. net start 信使號開始信使服務
13. compmgmt.msc---計算機管理
14. net stop messenger-----停止信使服務
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.地中海航運公司-組策略結果集
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-------簡易widnows media player (媒體播放機)
46. mspaint--------畫圖板
47. mstsc----------遠程桌面連接
48. magnify--------放大鏡實用程序
49. mmc------------打開控制臺
50. mobsync--------同步命令
51. dcomcnfg-------打開系統組件服務
52. ddeshare-------打開DDE共享設置
53. nslookup-------網絡管理的工具向導
54. ntbackup-------系統備份和還原
55. narrator-------屏幕“講述人”
57. ntmsoprq.msc---移動存儲管理員操作請求
58. netstat -an----(TC)命令檢查接口
59. syncapp--------創建一個公文包
60. sysedit--------系統配置編輯器
61. sigverif-------文件簽名驗證程序
62. shrpubw--------創建共享文件夾
63. secpol.msc-----本地安全策略
64. syskey---------系統加密,一旦加密就不能解開,保護windows xp系統的雙重密碼
65. services.msc---本地服務設置
66. Sndvol32-------音量控制程序
67. sfc.exe--------系統文件檢查器
68. tourstart------xp簡介(安裝完成后出現的漫游xp程序)
69. eventvwr-------事件查看器
70. eudcedit-------造字程序
71. packager-------對象包裝程序
72. regedit.exe----注冊表
73. regsvr32 /u zipfldr.dll------取消ZIP支持
74. cmd.exe--------運行指令命令提示符
76. certmgr.msc----證書管理實用程序
77. cliconfg-------SQL SERVER 客戶端網絡實用程序
78. Clipbrd--------剪貼板查看器
79. ciadv.msc------索引服務程序
80. osk------------打開屏幕鍵盤
81. odbcad32-------ODBC數據源管理器
82. iexpress-------木馬捆綁工具,系統自帶
83. fsmgmt.地中海航運公司共享文件夾管理器
84. utilman--------輔助工具管理器
UNIX命令
用途
發送一個回送信號請求給網絡主機。
語法
ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ \ -R ] [ -a addr_family ] [ -c 計數 ] [ -w timeout ] [ -f | -i \ Wait ] [ -l Preload ] [ -p Pattern ] [ -s PacketSize ] [ -S hostname/IP addr ] \ [ -L ] [ - I a.b.c.d. ] [ -o 接口 ] [ -T ttl ] Host [ PacketSize ] \ [ Count ]
描述
/usr/sbin/ping 命令發送一個因特網控制報文協議(ICMP) ECHO_REQUEST 去從主機或網關那里獲得 ICMP ECHO_RESPONSE 信號。ping 命令用于:
* 確定網絡和各外部主機的狀態。
* 跟蹤和隔離硬件和軟件問題。
* 測試、評估和管理網絡。
如果主機正在運行并連在網上,它就對回送信號進行響應。每個回送信號請求包含一個網際協議(IP)和 ICMP 頭,后面緊跟一個 timeval 結構,以及來填寫這個信息包的足夠的字節。缺省情況是連續發送回送信號請求直到接收到中斷信號(Ctrl+C)。
ping 命令每秒發送一個數據包并且為每個接收到的響應打印一行輸出。ping 命令計算信號往返時間和(信息)包丟失情況的統計信息,并且在完成之后顯示一個簡要總結。ping 命令在程序超時或當接收到 SIGINT 信號時結束。Host 參數或者是一個有效的主機名或者是因特網地址。
缺省情況下,ping 命令將連續發送回送信號請求到顯示器直到接收到中斷信號(ctrl+C). 中斷鍵可以使用 stty 命令來更改。
由于連續回送信號請求會對系統造成一定的負載,重復的請求信號應當主要用作問題隔離。
標志
-c Count 指定要被發送(或接收)的回送信號請求的數目,由 Count 變量指出。
-w timeout 這個選項僅和 -c 選項一起才能起作用。它使 ping 命令以最長的超時時間去等待應答(發送最后一個信息包后)。
-d 開始套接字級別的調試。
-D 這個選項引起 ICMP ECHO_REPLY 信息包向標準輸出的十六進制轉儲。
-f 指定 flood-ping 選項。-f 標志“傾倒”或輸出信息包,在它們回來時或每秒 100 次,選擇較快一個。每一次發送 ECHO_REQUEST,都打印一個句號,而每接收到一個 ECHO_REPLY 信號,就打印一個退格。這就提供了一種對多少信息包被丟棄的信息的快速顯示。僅僅 root 用戶可以使用這個選項。
注:這在網絡上將非常困難,必須小心使用。Flood ping 命令僅僅 root 用戶可以使用。-f 標志與 -i Wait 標志不兼容。
-I a.b.c.d 指定被 a.b.c.d 標明的接口將被用于向外的 IPv4 多點廣播。-I 標志是大寫的 i。
-o 接口 指出 interface 將被用于向外的 IPv6 多點廣播。接口以“en0”,“tr0”等的形式指定。
-i Wait 在每個信息包發送之間等待被 Wait 變量指定的時間(秒數)。缺省值是在每個信息包發送之間等待 1 秒。這個選項與 -f 標志不兼容。
-L 對多點廣播 ping 命令禁用本地回送。
-l Preload 在進入正常行為模式(每秒 1 個)前盡快發送 Preload 變量指定數量的信息包。-l 標志是小寫的 L。
-n 指定僅輸出數字。不企圖去查尋主機地址的符號名。
-p Pattern 指定用多達 16 個“填充”字節去填充你發送的信息包。這有利于診斷網絡上依賴數據的問題。例如,-p ff 全部用 1 填充信息包。
-q 指定靜默輸出。除了在啟動和結束時顯示總結行外什么也不顯示。
-r 忽略路由表直接送到連接的網絡上的主機上。如果 主機 不在一個直接連接的網絡上,ping 命令將產生一個錯誤消息。這個選項可以被用來通過一個不再有路由經過的接口去 ping 一個本地主機。
-R 指定記錄路由選項。-R 標志包括 ECHO_REQUEST 信息包中的 RECORD_ROUTE 選項,并且顯示返回信息包上的路由緩沖。
注:IP 頭僅僅大到適合 9 個這樣的路由。而且,許多主機和網關忽略這個選項。
-a addr_family 映射 ICMP 信息包的目的地址到 IPv6 格式,如果 addr_family 等于“inet6”的話。
-s PacketSize 指定要發送數據的字節數。缺省值是 56,當和 8 字節的 ICMP 頭數據合并時被轉換成 64 字節的 ICMP 數據。
-S hostname/IP addr 將 IP 地址用作發出的 ping 信息包中的源地址。在具有不止一個 IP 地址的主機上,可以使用 -S 標志來強制源地址為除了軟件包在其上發送的接口的 IP 地址外的任何地址。如果 IP 地址不是以下機器接口地址之一,則返回錯誤并且不進行任何發送。
-T ttl 指定多點廣播信息包的生存時間為 ttl 秒。
-v 請求詳細輸出,其中列出了除回送信號響應外接收到的 ICMP 信息。
參數
PacketSize 指定了要發送數據的字節數。缺省值是 56,當和 8 字節的 ICMP 頭數據合并時被轉換成 64 字節的 ICMP 數據。包含這個參數是為了和以前的 ping 命令版本相兼容。
Count 指定了要發送(接收)的回送信號請求的數目。包含這個參數是為了和以前的 ping 命令版本相兼容。
示例
1. 要檢查網絡和主機 canopus 的連接性,并且指定要發送的回送信號請求的數目,請輸入:
ping -c 5 canopus
或者
ping canopus 56 5
類似下列的信息將被顯示:
PING canopus.austin.century com: (128.116.1.5): 56 數據 bytes
64.bytes from 128.116.1.5: icmp_seq=0 ttl=255 時間=2 ms
64.bytes from 128.116.1.5: icmp_seq=1 ttl=255 time=2 ms
64.bytes from 128.116.1.5: icmp_seq=2 ttl=255 time=3 ms
64.bytes from 128.116.1.5: icmp_seq=3 ttl=255 time=2 ms
64.bytes from 128.116.1.5: icmp_seq=4 ttl=255 time=2 ms
----canopus.austin.century com PING Statistics----
5.packets transmitted,5 packets received,0% packet loss
round-trip min/avg/max = 2/2/3 ms
2. 要想獲取有關主機 lear 的信息,并且啟動套接字級別的調試,請輸入:
ping -d lear
類似下列的信息將被顯示:
PING lear.austin.century com: (128.114.4.18) 56 數據 bytes
64.bytes from 128.114.4.18: icmp_seq=0 ttl=255 時間=6 ms
64.bytes from 128.114.4.18: icmp_seq=1 ttl=255 time=17 ms
64.bytes from 128.114.4.18: icmp_seq=2 ttl=255 time=6 ms
64.bytes from 128.114.4.18: icmp_seq=3 ttl=255 time=6 ms
64.bytes from 128.114.4.18: icmp_seq=4 ttl=255 time=6 ms
^C
----lear.austin.century com PING Statistics ----
round-trip min/avg/max = 6/8/17 ms
注:輸出將一直重復直到接收到中斷信號(ctrl+C)。
3. 要獲取有關主機 opus 的信息,并且指定要發送的字節數,請輸入:
ping -s 2000 opus
或者
ping opus 2000
類似下列的信息將被顯示:
PING opus.austin.century com: (129.35.34.234): 2000 data bytes
2008 bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=20 ms
2008 bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=19 ms
2008 bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=20 ms
2008 bytes from 129.35.34.234: icmp_seq=3 ttl=255 時間=20 ms
2008 bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=20 ms
2008 bytes from 129.35.34.234: icmp_seq=5 ttl=255 time=19 ms
2008 bytes from 129.35.34.234: icmp_seq=6 ttl=255 time=19 ms
^C
----opus.austin.century com PING Statistics----
7.packets transmitted,7 packets received,0% packet loss
round-trip min/avg/max = 19/19/20 ms
注:輸出將一直重復直到接收到中斷信號(Ctrl+C)。
4. 要調用 flood-ping 選項給主機 stlopnor,請輸入:
ping -f stlopnor
類似下列的信息將被顯示:
Ping stlopnor.austin.century com: (129.35.34.234): 56 數據 bytes
.^C
----stlopnor.austin.century com PING Statistics ----
1098 packets transmitted,1097 packets received,0% packet loss
round-trip min/avg/max = 4/4/11
注:flood-ping 命令的輸出將一直重復,直到接收到中斷信號(Ctrl+C)。
5. 要指定發送到主機 opus 信息包的發送時間間隔為 5 秒,請輸入:
ping -i5 opus
類似下列的信息將被顯示:
PING opus.austin.century com: (129.35.34.234): 56 數據 bytes
64.bytes from 129.35.34.234: icmp_seq=0 ttl=255 時間=5 ms
64.bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=6 ms
^C
----opus.austin.century com PING Statistics----
3.packets transmitted,3 packets received,0% packet loss
round-trip min/avg/max = 5/5/6 ms
注:輸出將一直重復,直到接收到中斷信號(Ctrl+C)。
6. 在進入正常行為模式前盡快發送 Preload 變量指定的數量的信息包到主機 opus,請輸入:
ping -l 10 opus
類似下列的信息將被顯示:
64.bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=9 ms
64.bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=11 ms
64.bytes from 129.35.34.234: icmp_seq=2 ttl=255 時間=16 ms
64.bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=22 ms
64.bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=26 ms
64.bytes from 129.35.34.234: icmp_seq=5 ttl=255 time=27 ms
64.bytes from 129.35.34.234: icmp_seq=6 ttl=255 時間=30 ms
64.bytes from 129.35.34.234: icmp_seq=7 ttl=255 time=31 ms
64.bytes from 129.35.34.234: icmp_seq=8 ttl=255 time=33 ms
64.bytes from 129.35.34.234: icmp_seq=9 ttl=255 time=35 ms
64.bytes from 129.35.34.234: icmp_seq=10 ttl=255 time=36 ms
64.bytes from 129.35.34.234: icmp_seq=11 ttl=255 time=6 ms
64.bytes from 129.35.34.234: icmp_seq=12 ttl=255 time=6 ms
64.bytes from 129.35.34.234: icmp_seq=13 ttl=255 time=6 ms
64.bytes from 129.35.34.234: icmp_seq=14 ttl=255 time=7 ms
64.bytes from 129.35.34.234: icmp_seq=15 ttl=255 time=6 ms
^C
----opus.austin.century com PING Statistics----
16.packets transmitted,16 packets received,0% packet loss
round-trip min/avg/max = 6/19/36 ms
注:輸出將一直重復,直到接收到中斷信號(Ctrl+C)。
7. 要診斷網絡上依賴數據的問題,請輸入:
ping -p ff opus
這個命令用全為 1 的填充模式發送信息包給主機 opus。類似下列的信息將被顯示:
PATTERN: 0xff
64.bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=5 ms
64.bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=5 ms
64.bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=6 ms
64.bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=5 ms
^C
----opus.austin.century com PING Statistics----
round-trip min/avg/max = 5/5/6 ms
注:輸出將一直重復,直到接收到中斷信號(Ctrl+C)。
8. 要指定靜默輸出,請輸入:
ping -q bach
僅僅類似下列的總結信息將被顯示:
PING bach.austin.century com: (129.35.34.234): 56 數據 bytes
^C
----bach.austin.century com PING Statistics----
round-trip min/avg/max = 5/5/8 ms
注:雖然沒有顯示,信息包的輸出將一直繼續,直到接收到中斷信號(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"可以有條件省略
大家常用“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”的應答信息。
數字串代替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地址也可迷惑好奇心強的普通用戶,以免他們胡亂設置。
參考資料 >
ping(網絡診斷工具).博客園.2024-02-20
ping.microsoft.2024-02-20
Ping 命令是如何工作的?.騰訊云.2024-02-20
Ping 命令是如何工作的?.華為云.2024-02-20