Windows作業系統的幾個TCP/IP診斷工具)
來源:互聯網
上載者:User
我們在配製電腦的網路連接情況,可能會出現這樣那樣的問題,利用Windows作業系統本身就提供的一些網路診斷工具,往往能找到問題的癥結所在以對症下藥。本文就詳細解述幾個實用的網路測試命令:
一、ARP----顯示和修改乙太網路IP或令牌環物理地址翻譯表
ARP(位址解析通訊協定)用於顯示或修改使用的乙太網路IP或令牌環物理地址翻譯表。利用arp命令能夠查看本機電腦或另一台電腦的ARP快取中的當前內容;可以用人工方式輸入靜態網卡物理IP地址對,也可使用這種方式為預設網關和本機伺服器等常用主機進行這項操作,有助於減少網路上的資訊量。按照預設設定,ARP快取中的項目是動態,每當發送一個指定地點的資料報且快取中不存在當前項目時,ARP便會自動添加該項目。一旦快取的項目被輸入,它們就已經開始走向失效狀態。常用命令選項如下:
arp -a [-N [if_addr]] -d inet_addr -s inet_addr,其中各參數意義如下:
-a:通過詢問TCP/IP顯示當前ARP項。如果指定了inet_addr,則只顯示指定電腦的IP和物理地址。
-N:顯示由 if_addr 指定的網路介面 ARP 項。
-d:刪除由 inet_addr 指定的項。
-s:在ARP緩衝中添加項,將IP地址inet_addr和物理地址ether_addr關聯。
二、Ping---驗證與遠端電腦的串連
這個命令可能大家最熟悉了,當您連不上某個網路地址時,您可能首先會想到ping一下該地址。它是用於確定本地主機是否能與另一台主機成功交換(發送與接收)資料包,再根據返回的資訊,就可以推斷TCP/IP參數是否設定正確,以及運行是否正常、網路是否通暢等。Ping命令可以進行以下操作: ① 通過將 ICMP(網際網路控制訊息通訊協定 (ICMP)) 回顯資料包發送到電腦並偵聽回顯回複資料包來驗證與一台或多台遠端電腦的串連。② 每個發送的資料包最多等待一秒。③ 列印已傳輸和接收的資料包數。需要注意的是,Ping成功並不一定就代表TCP/IP配置正確,您有可能還要執行大量的本地主機與遠程主機的資料包交換,才能確信TCP/IP配置的正確性。如果執行ping成功而網路仍無法使用,那麼問題很可能出在網路系統的軟體配置方面,ping成功只保證當前主機與目的主機間存在一條連通的實體路徑。
每個接收的資料包均根據傳輸的訊息進行驗證。預設情況下,傳輸四個包含 32 位元組ICMP(網間控制報文協議)資料(由字母組成的一個迴圈大寫字母序列)的回顯資料包。Ping能夠以毫秒為單位顯示發送回送請求到返回回送應答之間的時間量。如果應答時間短,表示資料報不必通過太多的路由器或網路連接速度比較快。Ping還能顯示TTL(Time To Live存在時間)值,你可以通過TTL值推算一下資料包已經通過了多少個路由器。可以使用 ping 測試電腦名稱和電腦的 IP 位址。如果 IP 位址已經驗證但電腦名稱沒有,您可能會遇到名稱解析問題。在這種情況下,請確保正在查詢的電腦名稱在本地“主機”檔案中或在 DNS 資料庫中。以下顯示的是ping結果輸出:
C:\>ping www.163.net
Pinging www.163.net [202.108.255.203] with 32 bytes of data:
Reply from 202.108.255.203: bytes=32 time=110ms TTL=246
Reply from 202.108.255.203: bytes=32 time=100ms TTL=246
Reply from 202.108.255.203: bytes=32 time=100ms TTL=246
Reply from 202.108.255.203: bytes=32 time=101ms TTL=246
Ping statistics for 202.108.255.203:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 100ms, Maximum = 110ms, Average = 102ms
那麼又如何儲存以上ping的結果呢?只需在Ping命令列後加上“>[路徑]*.txt”即可(下面的Tracert與 pathping命令的測試結果也可以採用此方法),如:ping www.163.net>c:\windows\temp\ping.txt。ping完後將把結果儲存為ping.txt文字檔,用記事本就可以看了。下面是常用Ping命令的參數選項:
ping IP地址 –t 連續對IP地址執行解析直到被使用者以Ctrl+C中斷。
ping IP地址 -a 將IP位址解析為電腦名稱。
ping IP地址 -n 執行特定次數的Ping命令。
三、Tracert---確定到達目標IP地址的路由
這個程式的功能是判定資料包到達目的主機所經過的路徑、顯示資料包經過的中繼節點清單和到達時間。還可以使用參數-d決定是否解析主機名稱。
該診斷公用程式將包含不同存留時間 (TTL) 值的 網際網路控制訊息通訊協定 (ICMP) (ICMP) 回顯資料包發送到目標,以決定到達目標採用的路由。要在轉寄資料包上的 TTL 之前至少遞減 1,必需路徑上的每個路由器,所以 TTL 是有效躍點計數。資料包上的 TTL 到達 0 時,路由器應該將“ICMP 已逾時”的訊息發送回源系統。Tracert 先發送 TTL 為 1 的回顯資料包,並在隨後的每次發送過程將 TTL 遞增 1,直到目標響應或 TTL 達到最大值,從而確定路由。路由通過檢查中級路由器發送回的“ICMP 已逾時”的訊息來確定路由。不過,有些路由器悄悄地下傳包含到期 TTL 值的資料包,而tracert看不到。以下顯示的是tracert結果輸出,從中可以看出從筆者的機器到達163網站共經過十個路由:
C:\>tracert www.163.net
Tracing route to www.163.net [202.108.255.203] over a maximum of 30 hops:
1 140 ms 110 ms 201 ms pppb15.bdptt.he.cn [202.99.168.143]
……………
9 110 ms 111 ms 100 ms 202.106.3.26
10 110 ms 250 ms 110 ms 202.108.255.203
Trace complete.
四、PathPing---顯示路由器和資料包的丟失程度
該路由跟蹤命令結合了 ping 和 tracert 命令的功能,可提供這兩個命令都無法提供的附加資訊。經過一段時間,pathping 命令將資料包發送到最終目標位置途中經過的每個路由器,然後根據從每個躍點返回的資料包統計結果。因為 pathping 顯示指定的所有路由器和連結的資料包的丟失程度,所以使用者可據此確定引起網路問題的路由器或連結。
需要注意的是,pathping可用於確定路徑上的路由器。然後,該命令根據指定的時間間隔定期探測 (ping) 這些路由器,並根據每個路由器的返回數值產生統計結果。為了避免網路擁塞,應將間隔設定得稍長一些。而且要儘可能地消除突發包丟失所造成的影響,請不要頻繁發送探測 (ping) 訊號。另外,其參數T與R區分大小寫,必須大寫。以下顯示的是pathping結果輸出
C:\>pathping www.163.net
Racing route to www.163.net [202.108.255.203] over a maximum of 30 hops:
0 celeron333 [61.159.17.185]
1 pppb15.bdptt.he.cn [202.99.168.143]
…………
10 202.108.255.203
Computing statistics for 250 seconds...
Source to Here This Node/Link
Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address
0 celeron333 [61.159.17.185]
6 192ms 0/ 100 = 0% 0/ 100 = 0% 202.97.37.1
0/ 100 = 0% |
…………………
Trace complete.
由以上資訊可以看出,當 pathping 運行時,首先顯示路由資訊。其路徑與 tracert 命令顯示的結果相同。接著pathping 命令顯示一條大約需要運行 1.5 分鐘的忙訊息(具體的時間取決於躍點數),在這段時間內,pathping 從以前列出的所有路由器和路由器之間的連結收集資訊。在此期間結束時,將顯示測試結果。在上面的執行個體報告中,This Node/Link Lost/Sent = Pct 和 Address 列顯示躍點 5(202.97.38.73)與躍點 6( 202.97.37.1) 之間的連結沒有遺失資料包。有時,躍點之間的路由器雖然丟失了資料包,但所丟失的資料包並不一定影響其轉寄路徑。表中顯示的連結(在 Address 列中以 | 標識)資料包丟失率指出在該路徑上由於鏈路擁塞而導致資料包的丟失情況。表中顯示的路由(由其 IP 位址標識)資料包丟失率指出路由器的 CPU 或本機資料包緩衝區可能超載。
五、Winipcfg 與IPConfig---顯示主機TCP/IP協議的配置資訊
其中,Winipcfg採用Window圖形視窗的形式顯示具體資訊,適用於Win9x/WinMe系統;IPConfig為MS-DOS工作方式,適用於Win9x/WinMe/Win2000/WinNT系統。顯示的具體資訊包括:網路介面卡的物理地址、主機的IP地址、子網路遮罩以及預設閘道等,還可以查看主機的相關資訊如:主機名稱、DNS伺服器、節點類型等。其中網路介面卡的物理地址在檢測網路錯誤時非常有用。這些資訊一般用來檢驗人工配置的TCP/IP設定是否正確。但是,如果電腦所在的區域網路使用了動態主機設定通訊協定(Dynamic Host Configuration Protocol,DHCP),這個程式所顯示的資訊更加實用,它允許使用者決定由 DHCP 配置的值。這時,IPConfig/Winipcfg可以瞭解你的電腦是否成功的租用到一個IP地址,如果租用到則可以瞭解它目前分配到的是什麼地址。
對Ipconfig而言,它的常用選項如下:
Ipconfig /all:當使用all選項時,IPConfig能為DNS和WINS伺服器顯示它已配置且所要使用的附加資訊(如IP地址等),並且顯示內建於本地網卡中的物理地址(MAC)。如果IP地址是從DHCP伺服器租用的,IPConfig將顯示DHCP伺服器的IP地址和租用地址預計失效的日期。
IPConfig /renew :更新 DHCP 配置參數。該選項只在運行 DHCP 用戶端服務的系統上可用。
IPConfig/release :發布當前的 DHCP 配置。該選項禁用本地系統上的 TCP/IP,並只在DHCP用戶端上可用。要指定適配器名稱,可鍵