資料來源:網路
如果你玩過路由器的話,就知道路由器裡面那些很好玩的指令縮寫。
例如,"shint"的意思是"showinterface"。
現在Windows2000也有了類似界面的工具,叫做netsh。
我們在Windows2000的cmdshell下,輸入netsh
就出來:netsh>提示號,輸入intip就顯示:interfaceip>
然後輸入dump,我們就可以看到當前系統的網路配置:
#----------------------------------
#InterfaceIPConfiguration
#----------------------------------
pushdinterfaceip
#InterfaceIPConfigurationfor"LocalAreaConnection"
setaddressname="LocalAreaConnection"source=staticaddr=192.168.1.168
mask=255.255.255.0
addaddressname="LocalAreaConnection"addr=192.1.1.111mask=255.255.255.0
setaddressname="LocalAreaConnection"gateway=192.168.1.100gwmetric=1
setdnsname="LocalAreaConnection"source=staticaddr=202.96.209.5
setwinsname="LocalAreaConnection"source=staticaddr=nonepopd
#EndofinterfaceIPconfiguration
上面介紹的是通過交互方式操作的一種辦法。
我們可以直接輸入指令:
"netshinterfaceipaddaddress"LocalAreaConnection" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">10.0.02
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位址、子網掩碼和預設網關。
注意對於Windows95和Windows98的客戶端機,請使用winipcfg指令而不是ipconfig指令。
使用帶/all選項的ipconfig指令時,將給出所有接頭的詳細配置報告,包括任何已配置的串行連接阜。使用ipconfig/all,可以將指令輸出重定向到某個文件,並將輸出貼上到其他我的文件中。也可以用該輸出驗證網路上每台電腦的TCP/IP配置,或者進一步調查TCP/IP網路問題。
例如,如果電腦配置的IP位址與現有的IP位址重複,則子網掩碼顯示為 Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">0.0.0.0。
下面的範例是ipconfig/all指令輸出,該電腦配置成使用DHCP伺服器動態配置
TCP/IP,並使用WINS和DNS伺服器解析名稱。
Windows2000IPConfiguration
NodeType.........:Hybrid
IPRoutingEnabled.....:No
WINSProxyEnabled.....:No
EthernetadapterLocalAreaConnection:
HostName.........:corp1.microsoft.com
DNSServers.......: Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">10.1.0200
Description.......:3Com3C
PhysicalAddress.....:00- Year="1960" Month="8" Day="3" IsLunarDate="False" IsROCDate="False" w:st="on">60-08-3E-46-07
DHCPEnabled........:Yes
AutoconfigurationEnabled.:Yes
IPAddress.........:192.168.0.112
SubnetMask........:255.255.0.0
DefaultGateway......:192.168.0.1
DHCPServer........: Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">10.1.050
PrimaryWINSServer....: Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">10.1.0101
SecondaryWINSServer...: Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">10.1.0102
LeaseObtained.......:Wednesday,September02,199810:32:13AM
LeaseExpires.......:Friday,September18,199810:32:13AM
如果TCP/IP配置沒有問題,下一步測試能夠連線到TCP/IP網路上的其他主機。
使用ipconfig/renew重新整理配置解決TCP/IP網路問題時,先檢查遇到問題的電腦上的TCP/IP配置。如果電腦啟用DHCP並使用DHCP伺服器獲得配置,請使用ipconfig/renew指令開始重新整理租約。
使用ipconfig/renew時,使用DHCP的電腦上的所有網路卡(除了那些手動配置的橋接器)都盡量連線到DHCP伺服器,更新現有配置或者獲得新配置。
也可以使用帶/release選項的ipconfig指令立即釋放主機的當前DHCP配置。有關DHCP和租用程序的詳細資料,請參閱客戶端機如何獲得配置。
注意
對於啟用DHCP的Windows95和Windows98客戶,請使用winipcfg指令的rel
ease和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位址看它是否回應,如下:
pingIP_address
使用Ping時應該執行以下步驟:
Ping環回位址驗證是否在本機電腦上安裝TCP/IP以及配置是否正確。
ping127.0.0.1
Ping本機電腦的IP位址驗證是否正確地增加到網路。
pingIP_address_of_local_host
Ping預設網關的IP位址驗證預設網關是否執行以及能否與本機網路上的本機主機通
訊。
pingIP_address_of_default_gateway
Ping遠端主機的IP位址驗證能否通過路由器通訊。
pingIP_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-n2-l1450172.16.48.10
Pinging172.16.48.10with1450bytesofdata:
Replyfrom172.16.48.10:bytes=1450time<10msTTL=32
Replyfrom172.16.48.10:bytes=1450time<10msTTL=32
Pingstatisticsfor157.59.8.1:
Packets:Sent=2,Received=2,Lost=0(0%loss),
Approximateroundtriptimesinmilli-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-aname對name指定的電腦執行NetBIOS橋接器狀態指令。橋接器狀態指令將返回電腦的本機NetBIOS名稱表,以及橋接器的媒體訪問控制位址。
nbtstat-S列出當前的NetBIOS會話及其狀態(包括統計),如下例所顯示:
NetBIOSconnectiontable
LocalnameStateIn/outRemoteHostInputOutput
------------------------------------------------------------------
CORP1<00>ConnectedOutCORPSUP1<20>6MB5MB
CORP1<00>ConnectedOutCORPPRINT<20>108KB116KB
CORP1<00>ConnectedOutCORPSRC1<20>299KB19KB
CORP1<00>ConnectedOutCORPEMAIL1<20>324KB19KB
CORP1<03>Listening
使用netstat顯示連接統計,可以使用netstat指令顯示傳輸協定統計信息和當前的TCP/IP連接。netstat-a指令將顯示所有連接,而netstat-r顯示路由表和活動連接。netstat-e指令將顯示Ethernet統計信息,而netstat-s顯示每個傳輸協定的統計信息。如果使用netstat-n,則不能將位址和連接阜號轉換成名稱。下面是netstat的輸出示例:
C:\>netstat-e
InterfaceStatistics
ReceivedSent
Bytes399583794047224622
Unicastpackets120099131015
Non-unicastpackets75795443823
Discards00
Errors00
Unknownprotocols363054211
C:\>netstat-a
ActiveConnections
ProtoLocalAddressForeignAddressState
TCPCORP1:1572172.16.48.10:nbsessionESTABLISHED
TCPCORP1:1589172.16.48.10:nbsessionESTABLISHED
TCPCORP1:1606172.16.105.245:nbsessionESTABLISHED
TCPCORP1:1632172.16.48.213:nbsessionESTABLISHED
TCPCORP1:1659172.16.48.169:nbsessionESTABLISHED
TCPCORP1:1714172.16.48.203:nbsessionESTABLISHED
TCPCORP1:1719172.16.48.36:nbsessionESTABLISHED
TCPCORP1:1241172.16.48.101:nbsessionESTABLISHED
UDPCORP1:1025*:*
UDPCORP1:snmp*:*
UDPCORP1:nbname*:*
UDPCORP1:nbdatagram*:*
UDPCORP1:nbname*:*
UDPCORP1:nbdatagram*:*
C:\>netstat-s
IPStatistics
PacketsReceived=5378528
ReceivedHeaderErrors=738854
ReceivedAddressErrors=23150
DatagramsForwarded=0
UnknownProtocolsReceived=0
ReceivedPacketsDiscarded=0
ReceivedPacketsDelivered=4616524
OutputRequests=132702
RoutingDiscards=157
DiscardedOutputPackets=0
OutputPacketNoRoute=0
ReassemblyRequired=0
ReassemblySuccessful=0
ReassemblyFailures=
DatagramsSuccessfullyFragmented=0
DatagramsFailingFragmentation=0
FragmentsCreated=0
ICMPStatistics
ReceivedSent
Messages6934
Errors00
DestinationUnreachable6850
TimeExceeded00
ParameterProblems00
SourceQuenches00
Redirects00
Echoes40
EchoReplies04
Timestamps00
TimestampReplies00
AddressMasks00
AddressMaskReplies00
TCPStatistics
ActiveOpens=597
PassiveOpens=135
FailedConnectionAttempts=107
ResetConnections=91
CurrentConnections=8
SegmentsReceived=106770
SegmentsSent=118431
SegmentsRetransmitted=461
UDPStatistics
DatagramsReceived=4157136
NoPorts=351928
ReceiveErrors=2
DatagramsSent=13809
使用tracert跟蹤網路連接
Tracert(跟蹤路由)是路由跟蹤實用程序,用於確定IP資料報訪問目標所採取的路徑。Tracert指令用IP生存時間(TTL)字段和ICMP錯誤消息來確定從一個主機到網路上其他主機的路由。
Tracert工作原理
通過向目標傳送不同IP生存時間(TTL)值的「Internet控制消息傳輸協定(ICMP)」回應資料包,Tracert診斷程序確定到目標所採取的路由。要求路徑上的每個路由器在轉發資料包之前至少將資料包上的TTL遞減1。資料包上的TTL減為0時,路由器應該將「ICMP已超時」的消息發回源系統。
Tracert先傳送TTL為1的回應資料包,並在隨後的每次傳送程序將TTL遞增1,直到目標回應或TTL達到最大值,從而確定路由。通過檢查中間路由器發回的「ICMP已超時」的消息確定路由。某些路由器不經詢問直接丟棄TTL過期的資料包,這在Tracert實用程序中看不到。
Tracert指令按順序列印出返回「ICMP已超時」消息的路徑中的近端路由器接頭列表。如果使用-d選項,則Tracert實用程序不在每個IP位址上查詢DNS。
在下例中,資料包必須通過兩個路由器( Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">10.0.0.1和192.168.0.1)才能到達主機
172.16.0.99。主機的預設網關是 Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">10.0.0.1,192.168.0.0網路上的路由器的IP地
址是192.168.0.1。
C:\>tracert172.16.0.99-d
Tracingrouteto172.16.0.99overamaximumof30hops
12s3s2s10,0.0,1
275ms83ms88ms192.168.0.1
373ms79ms93ms172.16.0.99
Tracecomplete.
用tracert解決問題
可以使用tracert指令確定資料包在網路上的停止位置。下例中,預設網關確定19
2.168.10.99主機沒有有效路徑。這可能是路由器配置的問題,或者是192.168.10.
0網路不存在(錯誤的IP位址)。
C:\>tracert192.168.10.99
Tracingrouteto192.168.10.99overamaximumof30hops
110.0.0.1reportsestinationnetunreachable.
Tracecomplete.
Tracert實用程序對於解決大網路問題非常有用,此時可以採取幾條路徑到達同一個
點。
Tracert指令行選項
Tracert指令支持多種選項,如下表所顯示。
tracert[-d][-hmaximum_hops][-jhost-list][-wtimeout]target_name
選項描述
-d指定不將IP位址解析到主機名稱。
-hmaximum_hops指定躍點數以跟蹤到稱為target_name的主機的路由。
-jhost-list指定Tracert實用程序資料包所採用路徑中的路由器接頭列表。
-wtimeout等待timeout為每次回復所指定的毫秒數。
target_name目標主機的名稱或IP位址。
詳細資料,請參閱使用tracert指令跟蹤路徑。
使用pathping測試路由器
pathping指令是一個路由跟蹤工具,它將ping和tracert指令的功能和這兩個工具所不提供的其他信息結合起來。pathping指令在一段時間內將資料包傳送到到達最終目標的路徑上的每個路由器,然後關於資料包的電腦結果從每個躍點返回。由於指令顯示資料包在任何給定路由器或連接上丟失的程度,因此可以很容易地確定可能導致網路問題的路由器或連接。某些選項是可用的,如下表所顯示。
選項名稱功能
-nHostnames不將位址解析成主機名。
-hMaximumhops搜尋目標的最大躍點數。
-gHost-list沿著路由列表釋放源路由。
-pPeriod在ping之間等待的毫秒數。
-qNum_queries每個躍點的查詢數。
-wTime-out為每次回復所等待的毫秒數。
-TLayer2tag將第2層優先級標記(例如,對於IEEE802.1p)連線到資料包並將它傳送到路徑中的每個網路設備。這有助於標識沒有正確配置第2層優先級的網路設備。-T開關用於測試服務質量(QoS)連通性。
-RRSVPisbaseChe檢查以確定路徑中的每個路由器是否支持「資源保留傳輸協定(RSVP)」,此傳輸協定允許主機為資料流保留一定量的帶寬。-R開關用於測試服務質量(QoS)連通性。
預設的躍點數是30,並且超時前的預設等待時間是3秒。預設時間是250毫秒,並且沿著路徑對每個路由器進行查詢的次數是100。
以下是典型的pathping報告。躍點列表後所編輯的統計信息表明在每個獨立路由器上資料包丟失的情況。
D:\>pathping-nmsw
Tracingroutetomsw[ Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">7.54.1196]
overamaximumof30hops:
0172.16.87.35
1172.16.87.218
2192.68.52.1
3192.68.80.1
47.54.247.14
5 Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">7.54.1196
Computingstatisticsfor125seconds...
SourcetoHereThisNode/Link
HopRTTLost/Sent=PctLost/Sent=PctAddress
0172.16.87.350/100=0%|
141ms0/100=0%0/100=0%172.16.87.21813/100=13%|
222ms16/100=16%3/100=3%192.68.52.10/100=0%|
324ms13/100=13%0/100=0%192.68.80.10/100=0%|
421ms14/100=14%1/100=1%10.54.247.140/100=0%|
524ms13/100=13%0/100=0% Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">10.54.1196
Tracecomplete.
當執行pathping時,在測試問題時首先檢視路由的結果。此路徑與tracert指令所顯示的路徑相同。然後pathping指令對下一個125毫秒顯示忙消息(此時間根據躍點計數變化)。在此期間,pathping從以前列出的所有路由器和它們之間的連接之間收集信息。在此期間結束時,它顯示測試結果。
最右邊的兩欄ThisNode/LinkLost/Sent=Pct和Address包含的信息最有用。172.16.87.218(躍點1)和192.68.52.1(躍點2)丟失13%的資料包。所有其他連接工作正常。在躍點2和4中的路由器也丟失尋址到它們的資料包(如ThisNode/Link欄中所顯示),但是該丟失不會影響轉發的路徑。
對連接顯示的丟失率(在最右邊的欄中標記為|)表明沿路徑轉發丟失的資料包。該丟失表明連接阻塞。對路由器顯示的丟失率(通過最右邊欄中的IP位址顯示)表明這些路由器的CPU可能超負荷執行。這些阻塞的路由器可能也是端對端問題的一個因素,尤其是在軟體路由器轉發資料包時。
文章定位: