Windows 常用網絡命令詳解
一、Ping命令的使用技巧 Ping是個使用頻率極高的實用程序,用于確定本地主機是否能與另一臺主機交換(發送與接收)數據報。根據返回的信息,我們就可以推斷TCP/IP參數是否設置得正確以及運行是否正常。需要注意的是:成功地與另一臺主機進行一次或兩次數 據報交換并不表示TCP/IP配置就是正確的,我們必須執行大量的本地主機與遠程主機的數據報交換,才能確信TCP/IP的正確性。 簡單的說,Ping就是一個測試程序,如果Ping運行正確,我們大體上就可以排除網絡訪問層、網卡、MODEM的輸入輸出線路、電纜和路由器等存在的故障,從而減小了問題的范圍。但由于可以自定義所發數據報的大小及無休止的高速發送,Ping也被某些別有用心的人作為DDos(拒絕服務攻擊)的工具,例如許多大型的網站就是被黑客利用數百臺可以高速接入互聯網的電腦連續發送大量Ping數據報而癱瘓的。 按照缺省設置,Windows上運行的Ping命令發送4個ICMP(網間控制報文協議)回送請求,每個32字節數據,如果一切正常,我們應能得到4個回送應答。 Ping能夠以毫秒為單位顯示發送回送請求到返回回送應答之間的時間量。如果應答時間短,表示數據報不必通過太多的路由器或網絡連接速度比較快。Ping還能顯示TTL(Time To Live存在時間)值,我們可以通過TTL值推算一下數據包已經通過了多少個路由器:源地點TTL起始值(就是比返回TTL略大的一個2的乘方數)-返回時TTL值。例如,返回TTL值為119,那么可以推算數據報離開源地址的TTL起始值為128,而源地點到目標地點要通過9個路由器網段(128-119);如果返回TTL值為246,TTL起始值就是256,源地點到目標地點要通過9個路由器網段。 1、通過Ping檢測網絡故障的典型次序 正常情況下,當我們使用Ping命令來查找問題所在或檢驗網絡運行情況時,我們需要使用許多Ping命令,如果所有都運行正確,我們就可以相信基本的連通性和配置參數沒有問題;如果某些Ping命令出現運行故障,它也可以指明到何處去查找問題。下面就給出一個典型的檢測次序及對應的可能故障: ·ping 127.0.0.1 這個Ping命令被送到本地計算機的IP軟件,該命令永不退出該計算機。如果沒有做到這一點,就表示TCP/IP的安裝或運行存在某些最基本的問題。 ·ping 本機IP 這個命令被送到我們計算機所配置的IP地址,我們的計算機始終都應該對該Ping命令作出應答,如果沒有,則表示本地配置或安裝存在問題。出現此問題時,局域網用戶請斷開網絡電纜,然后重新發送該命令。如果網線斷開后本命令正確,則表示另一臺計算機可能配置了相同的IP地址。 ·ping 局域網內其他IP 這個命令應該離開我們的計算機,經過網卡及網絡電纜到達其他計算機,再返回。收到回送應答表明本地網絡中的網卡和載體運行正確。但如果收到0個回送應答,那么表示子網掩碼(進行子網分割時,將IP地址的網絡部分與主機部分分開的代碼)不正確或網卡配置錯誤或電纜系統有問題。 ·ping 網關IP 這個命令如果應答正確,表示局域網中的網關路由器正在運行并能夠作出應答。 ·ping 遠程IP 如果收到4個應答,表示成功的使用了缺省網關。對于撥號上網用戶則表示能夠成功的訪問Internet(但不排除ISP的DNS會有問題)。 ·ping localhost localhost是個作系統的網絡保留名,它是127.0.0.1的別名,每太計算機都應該能夠將該名字轉換成該地址。如果沒有做到這一帶內,則表示主機文件(/Windows/host)中存在問題。 ·ping www.xxx.com(如www.yesky.com 天極網) 對這個域名執行Ping www.xxx.com 地址,通常是通過DNS 服務器 如果這里出現故障,則表示DNS服務器的IP地址配置不正確或DNS服務器有故障(對于撥號上網用戶,某些ISP已經不需要設置DNS服務器了)。順便說一句:我們也可以利用該命令實現域名對IP地址的轉換功能。 如果上面所列出的所有Ping命令都能正常運行,那么我們對自己的計算機進行本地和遠程通信的功能基本上就可以放心了。但是,這些命令的成功并不表示我們所有的網絡配置都沒有問題,例如,某些子網掩碼錯誤就可能無法用這些方法檢測到。 2、Ping命令的常用參數選項 ·ping IP Ct 連續對IP地址執行Ping命令,直到被用戶以Ctrl+C中斷。 ·ping IP -l 3000 指定Ping命令中的數據長度為3000字節,而不是缺省的32字節。 ·ping IP Cn 執行特定次數的Ping命令。 二、Netstat 命令的使用技巧 Netstat用于顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用于檢驗本機各端口的網絡連接情況。 如果我們的計算機有時候接受到的數據報會導致出錯數據刪除或故障,我們不必感到奇怪,TCP/IP可以容許這些類型的錯誤,并能夠自動重發數據報。但如果累計的出錯情況數目占到所接收的IP數據報相當大的百分比,或者它的數目正迅速增加,那么我們就應該使用Netstat查一查為什么會出現這些情況了。 1、netstat 的一些常用選項 ·netstat Cs 本選項能夠按照各個協議分別顯示其統計數據。如果我們的應用程序(如Web瀏覽器)運行速度比較慢,或者不能顯示Web頁之類的數據,那么我們就可以用本選項來查看一下所顯示的信息。我們需要仔細查看統計數據的各行,找到出錯的關鍵字,進而確定問題所在。 ·netstat Ce 本選項用于顯示關于以太網的統計數據。它列出的項目包括傳送的數據報的總字節數、錯誤數、刪除數、數據報的數量和廣播的數量。這些統計數據既有發送的數據報數量,也有接收的數據報數量。這個選項可以用來統計一些基本的網絡流量)。 ·netstat Cr 本選項可以顯示關于路由表的信息,類似于后面所講使用route print命令時看到的 信息。除了顯示有效路由外,還顯示當前有效的連接。 ·netstat Ca 本選項顯示一個所有的有效連接信息列表,包括已建立的連接(ESTABLISHED),也包括監聽連接請求(LISTENING)的那些連接。 ·netstat Cn 顯示所有已建立的有效連接。 下面是 netstat 的輸出示例: C:>netstat -e Interface Statistics Received Sent Bytes 399583794047224622 Unicast packets120099131015 Non-unicast packets7579544 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 Exceeded0 0 Parameter Problems 0 0 Source Quenches 0 0 Redirects0 0 Echoes 4 0 Echo ReplIEs 0 4 Timestamps 0 0 Timestamp Replies0 0 Address Masks0 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 2、Netstat的妙用 經常上網的人一般都使用ICQ的,不知道我們有沒有被一些討厭的人騷擾,想投訴卻又不知從和下手?其實,我們只要知道對方的IP,就可以向他所屬的ISP投訴了。但怎樣才能通過ICQ知道對方的IP呢?如果對方在設置ICQ時選擇了不顯示IP地址,那我們是無法在信息欄中看到的。其實,我們只需要通過Netstat就可以很方便的做到這一點:當他通過ICQ或其他的工具與我們相連時(例如我們給他發一條ICQ信息或他給我們發一條信息),我們立刻在DOS 命令提示符下輸入netstat -n或netstat -a就可以看到對方上網時所用的IP或ISP域名了,甚至連所用Port都完全暴露了。
