常用的網路測試命令大全

  如果你玩過路由器的話,就知道路由器裡面那些很好玩的命令縮寫。例如,”sh int” 的意思是 “show interface”。 現在 Windows 2000 也有了類似界面的工具,叫做 netsh。

我們在 Windows 2000 的 cmd shell 下,輸入 netsh就出來:netsh> 提示符,輸入 int ip 就顯示:interface ip> 然後輸入 dump ,我們就可以看到當前系統的網路配置:

# ———————————-

# Interface IP Configuration

# ———————————-

pushd interface ip

# Interface IP Configuration for “Local Area Connection”

set address name = “Local Area Connection” source = static addr = 192.168.1.168

mask = 255.255.255.0

add address name = “Local Area Connection” addr = 192.1.1.111 mask = 255.255.255.0

set address name = “Local Area Connection” gateway = 192.168.1.100 gwmetric = 1

set dns name = “Local Area Connection” source = static addr = 202.96.209.5

set wins name = “Local Area Connection” source = static addr = none

popd

# End of interface IP configuration

上面介紹的是通過交互方式操作的一種辦法。

我們可以直接輸入命令:

”netsh interface ip add address “Local Area Connection” 10.0.0.2

255.0.0.0″

來添加 IP 地址。如果不知道語法,不要緊的哦!在提示符下,輸入 ? 就可以找到答案了。方便不方便啊?原來微軟的東西裡面,也有那麼一些讓人喜歡的玩意兒。可惜,之至者甚少啊!

Windows網路命令行程序

這部分包括:

使用 ipconfig /all 查看配置

使用 ipconfig /renew 刷新配置

使用 ipconfig 管理 DNS 和 DHCP 類別 ID

使用 Ping 測試連接

使用 Arp 解決硬體地址問題

使用 nbtstat 解決 NetBIOS 名稱問題

使用 netstat 顯示連接統計

使用 tracert 跟蹤網路連接

使用 pathping 測試路由器

使用 ipconfig /all 查看配置

發現和解決 TCP/IP 網路問題時,先檢查出現問題的計算機上的 TCP/IP 配置。可以使用 ipconfig 命令獲得主機配置信息,包括 IP 地址、子網掩碼和默認網關。

注意

對於 Windows 95 和 Windows 98 的客戶機,請使用 winipcfg 命令而不是 ipconfig 命令。

使用帶 /all 選項的 ipconfig 命令時,將給出所有接口的詳細配置報告,包括任何已配置的串行端口。使用 ipconfig /all,可以將命令輸出重定向到某個文件,並將輸出黏貼到其他文檔中。也可以用該輸出確認網路上每台計算機的 TCP/IP 配置,或者進一步調查 TCP/IP 網路問題。

例如,如果計算機配置的 IP 地址與現有的 IP 地址重復,則子網掩碼顯示為 0.0.0.0。

下面的范例是 ipconfig /all 命令輸出,該計算機配置成使用 DHCP 服務器動態配置TCP/IP,並使用 WINS 和 DNS 服務器解析名稱。

Windows 2000 IP Configuration

Node Type.. . . . . . . . : Hybrid

IP Routing Enabled.. . . . : No

WINS Proxy Enabled.. . . . : No

Ethernet adapter Local Area Connection:

Host Name.. . . . . . . . : corp1.microsoft.com

DNS Servers . . . . . . . : 10.1.0.200

Description. . . . . . . : 3Com 3C90x Ethernet Adapter

Physical Address. . . . . : 00-60-08-3E-46-07

DHCP Enabled.. . . . . . . : Yes

Autoconfiguration Enabled.: Yes

IP Address. . . . . . . . . : 192.168.0.112

Subnet Mask. . . . . . . . : 255.255.0.0

Default Gateway. . . . . . : 192.168.0.1

DHCP Server. . . . . . . . : 10.1.0.50

Primary WINS Server. . . . : 10.1.0.101

Secondary WINS Server. . . : 10.1.0.102

Lease Obtained.. . . . . . : Wednesday, September 02, 1998 10:32:13 AM

Lease Expires.. . . . . . : Friday, September 18, 1998 10:32:13 AM

如果 TCP/IP 配置沒有問題,下一步測試能夠連接到 TCP/IP 網路上的其他主機。

使用 ipconfig /renew 刷新配置

解決 TCP/IP 網路問題時,先檢查遇到問題的計算機上的 TCP/IP 配置。如果計算機啟用 DHCP 並使用 DHCP 服務器獲得配置,請使用 ipconfig /renew 命令開始刷新租約。

使用 ipconfig /renew 時,使用 DHCP 的計算機上的所有網卡(除了那些手動配置的適配器)都盡量連接到 DHCP 服務器,更新現有配置或者獲得新配置。

也可以使用帶 /release 選項的 ipconfig 命令立即釋放主機的當前 DHCP 配置。有關 DHCP 和租用過程的詳細信息,請參閱客戶機如何獲得配置。

注意

對於啟用 DHCP 的 Windows 95 和 Windows 98 客戶,請使用 winipcfg 命令的 release 和 renew 選項,而不是 ipconfig /release 和 ipconfig /renew 命令,手動釋放或更新客戶的 IP 配置租約。

使用 ipconfig 管理 DNS 和 DHCP 類別 ID 也可以使用 ipconfig 命令:

顯示或重置 DNS 緩存。詳細信息,請參閱使用 ipconfig 查看或重置客戶解析程序緩存。

刷新已註冊的 DNS 名稱。詳細信息,請參閱使用 ipconfig 更新 DNS 客戶註冊。

顯示適配器的 DHCP 類別 ID。詳細信息,請參閱顯示客戶機上的 DHCP 類別 ID 信息。

設置適配器的 DHCP 類別 ID。詳細信息,請參閱設置客戶機上的 DHCP 類別 ID 信息。

使用 Ping 測試連接

Ping 命令有助於驗證 IP 級的連通性。發現和解決問題時,可以使用 Ping 向目標主機名或 IP 地址發送 ICMP 回應請求。需要驗證主機能否連接到 TCP/IP 網路和網路資源時,請使用 Ping。也可以使用 Ping 隔離網路硬體問題和不兼容配置。

通常最好先用 Ping 命令驗證本地計算機和網路主機之間的路由是否存在,以及要連接的網路主機的 IP 地址。Ping 目標主機的 IP 地址看它是否響應,如下:

ping IP_address

使用 Ping 時應該執行以下步驟:

Ping 環回地址驗證是否在本地計算機上安裝 TCP/IP 以及配置是否正確。

ping 127.0.0.1

Ping 本地計算機的 IP 地址驗證是否正確地添加到網路。

ping IP_address_of_local_host

Ping 默認網關的 IP 地址驗證默認網關是否運行以及能否與本地網路上的本地主機通訊。

ping IP_address_of_default_gateway

Ping 遠程主機的 IP 地址驗證能否通過路由器通訊。

ping IP_address_of_remote_host

Ping 命令用 Windows 套接字樣式的名稱解析將計算機名解析成 IP 地址,所以如果用地址成功,但是用名稱 Ping 失敗,則問題出在地址或名稱解析上,而不是網路連通性的問題。詳細信息,請參閱使用 Arp 解決硬體地址問題。

如果在任何點上都無法成功地使用 Ping,請確認:

安裝和配置 TCP/IP 之後重新啟動計算機。

「Internet 協議 (TCP/IP) 屬性」對話框「常規」選項卡上的本地計算機的 IP 地址有效而且正確。

用 IP 路由,並且路由器之間的鏈路是可用的。

您可以使用 Ping 命令的不同選項來指定要使用的數據包大小、要發送多少數據包、是否記錄用過的路由、要使用的生存時間 (TTL) 值以及是否設置「不分段」標誌。可以鍵入 ping -? 查看這些選項。

下例說明如何向 IP 地址 172.16.48.10 發送兩個 Ping,每個都是 1,450 字節:

C:\>ping -n 2 -l 1450 172.16.48.10

Pinging 172.16.48.10 with 1450 bytes of data:

Reply from 172.16.48.10:bytes=1450 time<10ms TTL=32

Reply from 172.16.48.10:bytes=1450 time<10ms TTL=32

Ping statistics for 157.59.8.1:

Packets:Sent = 2, Received = 2, Lost = 0 (0% loss),

Approximate roundtrip times in milli-seconds:

Minimum = 0ms, Maximum = 10ms, Average = 2ms

默認情況下,在顯示「請求超時」之前,Ping 等待 1,000 毫秒(1 秒)的時間讓每個響應返回。如果通過 Ping 探測的遠程系統經過長時間延遲的鏈路,如衛星鏈路,則響應可能會花更長的時間才能返回。可以使用 -w (等待)選項指定更長時間的超時。

使用 Arp 解決硬體地址問題

「地址解析協議 (ARP)」允許主機查找同一物理網路上的主機的媒體訪問控制地址,如果給出後者的 IP 地址。為使 ARP 更加有效,每個計算機緩存 IP 到媒體訪問控制地址映射消除重復的 ARP 廣播請求。

可以使用 arp 命令查看和修改本地計算機上的 ARP 表項。arp 命令對於查看 ARP 緩存和解決地址解析問題非常有用。

詳細信息,請參閱查看「地址解析協議 (ARP)」緩存和添加靜態 ARP 緩存項目。

使用 nbtstat 解決 NetBIOS 名稱問題

TCP/IP 上的 NetBIOS (NetBT) 將 NetBIOS 名稱解析成 IP 地址。TCP/IP 為 NetBIOS 名稱解析提供了很多選項,包括本地緩存搜尋、WINS 服務器查詢、廣播、DNS 服務器查詢以及 Lmhosts 和主機文件搜尋。

Nbtstat 是解決 NetBIOS 名稱解析問題的有用工具。可以使用nbtstat 命令刪除或更正預加載的項目:

nbtstat -n 顯示由服務器或重定向器之類的程序在系統上本地註冊的名稱。

nbtstat -c 顯示 NetBIOS 名稱緩存,包含其他計算機的名稱對地址映射。

nbtstat -R 清除名稱緩存,然後從 Lmhosts 文件重新加載。

nbtstat -RR 釋放在 WINS 服務器上註冊的 NetBIOS 名稱,然後刷新它們的註冊。

nbtstat -a name 對 name 指定的計算機執行 NetBIOS 適配器狀態命令。適配器狀態命令將

返回計算機的本地 NetBIOS 名稱表,以及適配器的媒體訪問控制地址。

nbtstat -S 列出當前的 NetBIOS 會話及其狀態(包括統計),如下例所示:

NetBIOS connection table

Local name State In/out Remote Host Input Output

——————————————————————

CORP1 <00> Connected Out CORPSUP1<20> 6MB 5MB

CORP1 <00> Connected Out CORPPRINT<20> 108KB 116KB

CORP1 <00> Connected Out CORPSRC1<20> 299KB 19KB

CORP1 <00> Connected Out CORPEMAIL1<20> 324KB 19KB

CORP1 <03> Listening

使用 netstat 顯示連接統計

可以使用 netstat 命令顯示協議統計信息和當前的 TCP/IP 連接。netstat -a 命令將顯示所有連接,而 netstat -r 顯示路由表和活動連接。netstat -e 命令將顯示Ethernet 統計信息,而 netstat -s 顯示每個協議的統計信息。如果使用 netstat -n,則不能將地址和端口號轉換成名稱。下面是 netstat 的輸出示例:

C:\>netstat -e

Interface Statistics

Received Sent

Bytes 3995837940 47224622

Unicast packets 120099 131015

Non-unicast packets 7579544 3823

Discards 0 0

Errors 0 0

Unknown protocols 363054211

C:\>netstat -a

Active Connections

Proto Local Address Foreign Address State

TCP CORP1:1572 172.16.48.10:nbsession ESTABLISHED

TCP CORP1:1589 172.16.48.10:nbsession ESTABLISHED

TCP CORP1:1606 172.16.105.245:nbsession ESTABLISHED

TCP CORP1:1632 172.16.48.213:nbsession ESTABLISHED

TCP CORP1:1659 172.16.48.169:nbsession ESTABLISHED

TCP CORP1:1714 172.16.48.203:nbsession ESTABLISHED

TCP CORP1:1719 172.16.48.36:nbsession ESTABLISHED

TCP CORP1:1241 172.16.48.101:nbsession ESTABLISHED

UDP CORP1:1025 *:*

UDP CORP1:snmp *:*

UDP CORP1:nbname *:*

UDP CORP1:nbdatagram *:*

UDP CORP1:nbname *:*

UDP CORP1:nbdatagram *:*

C:\>netstat -s

IP Statistics

Packets Received = 5378528

Received Header Errors = 738854

Received Address Errors = 23150

Datagrams Forwarded = 0

Unknown Protocols Received = 0

Received Packets Discarded = 0

Received Packets Delivered = 4616524

Output Requests = 132702

Routing Discards = 157

Discarded Output Packets = 0

Output Packet No Route = 0

Reassembly Required = 0

Reassembly Successful = 0

Reassembly Failures =

Datagrams Successfully Fragmented = 0

Datagrams Failing Fragmentation = 0

Fragments Created = 0

ICMP Statistics

Received Sent

Messages 693 4

Errors 0 0

Destination Unreachable 685 0

Time Exceeded 0 0

Parameter Problems 0 0

Source Quenches 0 0

Redirects 0 0

Echoes 4 0

Echo Replies 0 4

Timestamps 0 0

Timestamp Replies 0 0

Address Masks 0 0

Address Mask Replies 0 0

TCP Statistics

Active Opens = 597

Passive Opens = 135

Failed Connection Attempts = 107

Reset Connections = 91

Current Connections = 8

Segments Received = 106770

Segments Sent = 118431

Segments Retransmitted = 461

UDP Statistics

Datagrams Received = 4157136

No Ports = 351928

Receive Errors = 2

Datagrams Sent = 13809

使用 tracert 跟蹤網路連接

Tracert(跟蹤路由)是路由跟蹤實用程序,用於確定 IP 數據報訪問目標所採取的路徑。Tracert 命令用 IP 生存時間 (TTL) 字段和 ICMP 錯誤消息來確定從一個主機到網路上其他主機的路由。

Tracert 工作原理

通過向目標發送不同 IP 生存時間 (TTL) 值的「Internet 控制消息協議 (ICMP)」回應數據包,Tracert 診斷程序確定到目標所採取的路由。要求路徑上的每個路由器在轉PO數據包之前至少將數據包上的 TTL 遞減 1。數據包上的 TTL 減為 0 時,路由器應該將「ICMP 已超時」的消息發回源系統。

Tracert 先發送 TTL 為 1 的回應數據包,並在隨後的每次發送過程將 TTL 遞增 1,直到目標響應或 TTL 達到最大值,從而確定路由。通過檢查中間路由器發回的「ICMP 已超時」的消息確定路由。某些路由器不經詢問直接丟棄 TTL 過期的數據包,這在Tracert 實用程序中看不到。

Tracert 命令按順序列印出返回「ICMP 已超時」消息的路徑中的近端路由器接口列表。如果使用 -d 選項,則Tracert 實用程序不在每個 IP 地址上查詢 DNS。

在下例中,數據包必須通過兩個路由器(10.0.0.1 和 192.168.0.1)才能到達主機172.16.0.99。主機的默認網關是 10.0.0.1,192.168.0.0 網路上的路由器的 IP 地 址是 192.168.0.1。

C:\>tracert 172.16.0.99 -d

Tracing route to 172.16.0.99 over a maximum of 30 hops

1 2s 3s 2s 10,0.0,1

2 75 ms 83 ms 88 ms 192.168.0.1

3 73 ms 79 ms 93 ms 172.16.0.99

Trace complete.

用 tracert 解決問題

可以使用 tracert 命令確定數據包在網路上的停止位置。下例中,默認網關確定 192.168.10.99 主機沒有有效路徑。這可能是路由器配置的問題,或者是 192.168.10.0 網路不存在(錯誤的 IP 地址)。

C:\>tracert 192.168.10.99

Tracing route to 192.168.10.99 over a maximum of 30 hops

1 10.0.0.1 reportsestination net unreachable.

Trace complete.

Tracert 實用程序對於解決大網路問題非常有用,此時可以採取幾條路徑到達同一個點。

Tracert 命令行選項

Tracert 命令支持多種選項,如下表所示。

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

選項 描述

-d 指定不將 IP 地址解析到主機名稱。

-h maximum_hops 指定躍點數以跟蹤到稱為 target_name 的主機的路由。

-j host-list 指定 Tracert 實用程序數據包所採用路徑中的路由器接口列表。

-w timeout 等待 timeout 為每次回復所指定的毫秒數。

target_name 目標主機的名稱或 IP 地址。

詳細信息,請參閱使用 tracert 命令跟蹤路徑。

使用 pathping 測試路由器

pathping 命令是一個路由跟蹤工具,它將 ping 和 tracert 命令的功能和這兩個工具所不提供的其他信息結合起來。pathping 命令在一段時間內將數據包發送到到達最終目標的路徑上的每個路由器,然後基於數據包的計算機結果從每個躍點返回。由於命令顯示數據包在任何給定路由器或鏈接上丟失的程度,因此可以很容易地確定可能導致網路問題的路由器或鏈接。某些選項是可用的,如下表所示。

常用的網路測試命令大全

默認的躍點數是 30,並且超時前的默認等待時間是 3 秒。默認時間是 250 毫秒,並且沿著路徑對每個路由器進行查詢的次數是 100。

以下是典型的 pathping 報告。躍點列表後所編輯的統計信息表明在每個獨立路由器上數據包丟失的情況。

D:\>pathping -n msw

Tracing route to msw [7.54.1.196]

over a maximum of 30 hops:

0 172.16.87.35

1 172.16.87.218

2 192.68.52.1

3 192.68.80.1

4 7.54.247.14

5 7.54.1.196

Computing statistics for 125 seconds…

Source to Here This Node/Link

Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address

0 172.16.87.35

0/ 100 = 0% |

1 41ms 0/ 100 = 0% 0/ 100 = 0% 172.16.87.218

13/ 100 = 13% |

2 22ms 16/ 100 = 16% 3/ 100 = 3% 192.68.52.1

0/ 100 = 0% |

3 24ms 13/ 100 = 13% 0/ 100 = 0% 192.68.80.1

0/ 100 = 0% |

4 21ms 14/ 100 = 14% 1/ 100 = 1% 10.54.247.14

0/ 100 = 0% |

5 24ms 13/ 100 = 13% 0/ 100 = 0% 10.54.1.196

Trace complete.

當運行 pathping 時,在測試問題時首先查看路由的結果。此路徑與 tracert 命令所顯示的路徑相同。然後 pathping 命令對下一個 125 毫秒顯示忙消息(此時間根據躍點計數變化)。在此期間,pathping 從以前列出的所有路由器和它們之間的鏈接之間收集信息。在此期間結束時,它顯示測試結果。

最右邊的兩欄 This Node/Link Lost/Sent=Pct 和 Address 包含的信息最有用。172.16.87.218(躍點 1)和 192.68.52.1(躍點 2)丟失 13% 的數據包。 所有其他鏈接工作正常。在躍點 2 和 4 中的路由器也丟失尋址到它們的數據包(如 This Node /Link 欄中所示),但是該丟失不會影響轉PO的路徑。

對鏈接顯示的丟失率(在最右邊的欄中標記為 |)表明沿路徑轉PO丟失的數據包。該丟失表明鏈接阻塞。對路由器顯示的丟失率(通過最右邊欄中的 IP 地址顯示)表明這些路由器的 CPU 可能超負荷運行。這些阻塞的路由器可能也是端對端問題的一個因素,尤其是在軟體路由器轉PO數據包時。