2011年10月16日 星期日

網路命令一覽表

當你打開流覽器,自由地遊覽於浩如煙海的互聯網世界之時,是否也沉迷於下載各種實用軟體?其中也許有很大一部分就是網路工具吧!但請你不要忽視你的面前——Windows(包括Win98和NT)作系統中本來就帶有不少的網路實用工具,雖然比較簡單,卻並不簡陋。本著“簡單就是美”的原則,下面就為你展現Windows網路實用工具的風采……

Ping

Ping是個使用頻率極高的實用程式,用於確定本地主機是否能與另一台主機交換(發送與接收)資料報。根據返回的資訊,你就可以推斷TCP/IP參數是否設置得正確以及運行是否正常。需要注意的是:成功地與另一台主機進行一次或兩次數據報交換並不表示TCP/IP配置就是正確的,你必須執行大量的本地主機與遠端主機的資料報交換,才能確信TCP/IP的正確性。

簡單的說,Ping就是一個測試程式,如果Ping運行正確,你大體上就可以排除網路訪問層、網卡、MODEM的輸入輸出線路、電纜和路由器等存在的故障,從而減小了問題的範圍。但由於可以自定義所發資料報的大小及無休止的高速發送,Ping也被某些別有用心的人作為DDOS(拒絕服務攻擊)的工具,前段時間Yahoo就是被駭客利用數百台可以高速接入互聯網的電腦連續發送大量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個路由器網段。

通過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.yahoo.com——對這個功能變數名稱執行Ping命令,你的電腦必須先將功能變數名稱轉換成IP位址,通常是通過DNS伺服器 如果這裏出現故障,則表示DNS伺服器的IP位址配置不正確或DNS伺服器有故障(對於撥號上網用戶,某些ISP已經不需要設置DNS伺服器了)。順便說一句:你也可以利用該命令實現功能變數名稱對IP位址的轉換功能。

如果上面所列出的所有Ping命令都能正常運行,那麼你對你的電腦進行本地和遠端通信的功能基本上就可以放心了。但是,這些命令的成功並不表示你所有的網路配置都沒有問題,例如,某些子網路遮罩錯誤就可能無法用這些方法檢測到。

Ping命令的常用參數選項

ping IP -t——連續對IP位址執行Ping命令,直到被用戶以Ctrl+C中斷。

ping IP -l 2000——指定Ping命令中的資料長度為2000位元組,而不是缺省的32位元組。

ping IP -n——執行特定次數的Ping命令。

Netstat

Netstat用於顯示與IP、TCP、UDP和ICMP協定相關的統計資料,一般用於檢驗本機各埠的網路連接情況。

如果你的電腦有時候接受到的資料報會導致出錯資料刪除或故障,你不必感到奇怪,TCP/IP可以容許這些類型的錯誤,並能夠自動重發資料報。但如果累計的出錯情況數目占到所接收的IP資料報相當大的百分比,或者它的數目正迅速增加,那麼你就應該使用Netstat查一查為什麼會出現這些情況了。

Netstat的一些常用選項:

netstat -s——本選項能夠按照各個協定分別顯示其統計資料。如果你的應用程式(如Web流覽器)運行速度比較慢,或者不能顯示Web頁之類的資料,那麼你就可以用本選項來查看一下所顯示的資訊。你需要仔細查看統計資料的各行,找到出錯的關鍵字,進而確定問題所在。

netstat -e——本選項用於顯示關於乙太網的統計資料。它列出的專案包括傳送的資料報的總位元組數、錯誤數、刪除數、資料報的數量和廣播的數量。這些統計資料既有發送的資料報數量,也有接收的資料報數量。這個選項可以用來統計一些基本的網路流量)。

netstat -r——本選項可以顯示關於路由表的資訊,類似於後面所講使用route print命令時看到的 資訊。除了顯示有效路由外,還顯示當前有效的連接。

netstat -a——本選項顯示一個所有的有效連接資訊列表,包括已建立的連接(ESTABLISHED),也包括監聽連接請求(LISTENING)的那些連接。

netstat -n——顯示所有已建立的有效連接。

Netstat的妙用

經常上網的人一般都使用ICQ的,不知道你有沒有被一些討厭的人騷擾得不敢上線,想投訴卻又不知從和下手?其實,你只要知道對方的IP,就可以向他所屬的ISP投訴了。但怎樣才能通過ICQ知道對方的IP呢?如果對方在設置ICQ時選擇了不顯示IP位址,那你是無法在資訊欄中看到的。其實,你只需要通過Netstat就可以很方便的做到這一點:當他通過ICQ或其他的工具與你相連時(例如你給他發一條ICQ資訊或他給你發一條資訊),你立刻在DOS Prompt下輸入netstat -n或netstat -a就可以看到對方上網時所用的IP或ISP功能變數名稱了。甚至連所用Port都完全暴露了,如果你想給他一些教訓,這些資訊已經足夠……

IPConfig

IPConfig實用程式和它的等價圖形用戶介面——Windows 95/98中的WinIPCfg可用於顯示當前的TCP/IP配置的設置值。這些資訊一般用來檢驗人工配置的TCP/IP設置是否正確。但是,如果你的電腦和所在的局域網使用了動態主機配置協定(Dynamic Host Configuration Protocol,DHCP——Windows NT下的一種把較少的IP位址分配給較多主機使用的協定,類似於撥號上網的動態IP分配),這個程式所顯示的資訊也許更加實用。這時,IPConfig可以讓你瞭解你的電腦是否成功的租用到一個IP位址,如果租用到則可以瞭解它目前分配到的是什麼位址。瞭解電腦當前的IP位址、子網路遮罩和缺省閘道實際上是進行測試和故障分析的必要專案。

最常用的選項:

ipconfig——當使用IPConfig時不帶任何參數選項,那麼它為每個已經配置了的介面顯示IP位址、子網路遮罩和缺省閘道值

ipconfig /all——當使用all選項時,IPConfig能為DNS和WINS伺服器顯示它已配置且所要使用的附加資訊(如IP位址等),並且顯示內置於本地網卡中的物理位址(MAC)。如果IP地址是從DHCP伺服器租用的,IPConfig將顯示DHCP伺服器的IP位址和租用地址預計失效的日期(有關DHCP伺服器的相關內容請詳見其他有關NT伺服器的書籍或詢問你的網管),其輸出資訊見圖6的下半部分。

ipconfig /release和ipconfig /renew——這是兩個附加選項,只能在向DHCP伺服器租用其IP位址的電腦上起作用。如果你輸入ipconfig /release,那麼所有介面的租用IP位址便重新交付給DHCP伺服器(歸還IP位址)。如果你輸入ipconfig /renew,那麼本地電腦便設法與DHCP伺服器取得聯繫,並租用一個IP地址。請注意,大多數情況下網卡將被重新賦予和以前所賦予的相同的IP位址。

如果你使用的是Windows 95/98,那麼你應該更習慣使用winipcfg而不是ipconfig,因為它是一個圖形用戶介面,而且所顯示的資訊與ipconfig相同,並且也提供發佈和更新動態IP位址的選項 如果你購買了Windows NT Resource Kit(NT資源包),那麼Windows NT也包含了一個圖形替代介面,該實用程式的名字是wntipcfg,和Windows 95/98的winipcfg類似。

ARP(位址轉換協定)

ARP是一個重要的TCP/IP協議,並且用於確定對應IP位址的網卡物理位址。實用arp命令,你能夠查看本地電腦或另一台電腦的ARP快取記憶體中的當前內容。此外,使用arp命令,也可以用人工方式輸入靜態的網卡物理/IP位址對,你可能會使用這種方式為缺省閘道和本端伺服器等常用主機進行這項作,有助於減少網路上的信息量。

按照缺省設置,ARP快取記憶體中的專案是動態的,每當發送一個指定地點的資料報且快取記憶體中不存在當前專案時,ARP便會自動添加該項目。一旦快取記憶體的專案被輸入,它們就已經開始走向失效狀態。例如,在Windows NT網路中,如果輸入專案後不進一步使用,物理/IP位址對就會在2至10分鐘內失效。因此,如果ARP快取記憶體中項目很少或根本沒有時,請不要奇怪,通過另一台電腦或路由器的ping命令即可添加。所以,需要通過arp命令查看快取記憶體中的內容時,請最好先ping 此台電腦(不能是本機發送ping命令)。

常用命令選項:

arp -a或arp -g——用於查看快取記憶體中的所有項目。-a和-g參數的結果是一樣的,多年來-g一直是UNIX平臺上用來顯示ARP快取記憶體中所有專案的選項,而Windows用的是arp -a(-a可被視為all,即全部的意思),但它也可以接受比較傳統的-g選項。

arp -a IP——如果你有多個網卡,那麼使用arp -a加上介面的IP位址,就可以只顯示與該介面相關的ARP緩存項目。

arp -s IP 物理位址——你可以向ARP快取記憶體中人工輸入一個靜態專案。該專案在電腦引導過程中將保持有效狀態,或者在出現錯誤時,人工配置的物理位址將自動更新該項目。

arp -d IP——使用本命令能夠人工刪除一個靜態專案。




看到這裏,你也許已經有些累了……其實對於一般用戶來說也已經足夠——你可以用ipconfig和ping命令來查看自己的網路配置並判斷是否正確、可以用netstat查看別人與你所建立的連接並找出ICQ使用者所隱藏的IP資訊、可以用arp查看網卡的MAC位址——這些已足已讓你丟掉菜鳥的頭銜。如果你並不滿足,那就“硬著頭皮”(下面的內容可能有些枯燥)繼續Follow me……

Tracert

當資料報從你的電腦經過多個閘道傳送到目的地時,Tracert命令可以用來跟蹤資料報使用的路由(路徑)。該實用程式跟蹤的路徑是源電腦到目的地的一條路徑,不能保證或認為資料報總遵循這個路徑。如果你的配置使用DNS,那麼你常常會從所產生的應答中得到城市、位址和常見通信公司的名字。Tracert是一個運行得比較慢的命令(如果你指定的目標位址比較遠),每個路由器你大約需要給它15秒鐘
Tracert的使用很簡單,只需要在tracert後面跟一個IP位址或URL,Tracert會進行相應的功能變數名稱轉換的。Tracert一般用來檢測故障的位置,你可以用tracert IP在哪個環節上出了問題,雖然還是沒有確定是什麼問題,但它已經告訴了我們問題所在的地方,你也就可以很有把握的告訴別人——某某出了問題。

Route

大多數主機一般都是駐留在只連接一台路由器的網段上。由於只有一台路由器,因此不存在使用哪一台路由器將資料報發表到遠端電腦上去的問題,該路由器的IP地址可作為該網段上所有電腦的缺省閘道來輸入。

但是,當網路上擁有兩個或多個路由器時,你就不一定想只依賴缺省閘道了。實際上你可能想讓你的某些遠端IP位址通過某個特定的路由器來傳遞,而其他的遠端IP則通過另一個路由器來傳遞。

在這種情況下,你需要相應的路由資訊,這些資訊儲存在路由表中,每個主機和每個路由器都配有自己獨一無二的路由表。大多數路由器使用專門的路由協定來交換和動態更新路由器之間的路由表。但在有些情況下,必須人工將專案添加到路由器和主機上的路由表中。Route就是用來顯示、人工添加和修改路由表項目的。

一般使用選項:

route print——本命令用於顯示路由表中的當前項目,在單路由器網段上的輸出結果如圖12,由於用IP位址配置了網卡,因此所有的這些項目都是自動添加的。

route add——使用本命令,可以將信路由項目添加給路由表。例如,如果要設定一個到目的網路209.98.32.33的路由,其間要經過5個路由器網段,首先要經過本地網路上的一個路由器,器IP為202.96.123.5,子網路遮罩為255.255.255.224,那麼你應該輸入以下命令:

route add 209.98.32.33 mask 255.255.255.224 202.96.123.5 metric 5

route change——你可以使用本命令來修改資料的傳輸路由,不過,你不能使用本命令來改變資料的目的地。下面這個例子可以將資料的路由改到另一個路由器,它採用一條包含3個網段的更直的路徑:

route add 209.98.32.33 mask 255.255.255.224 202.96.123.250 metric 3

route delete——使用本命令可以從路由表中刪除路由。例如:route delete 209.98.32.33


NBTStat

NBTStat(TCP/IP上的NetBIOS統計資料)實用程式用於提供關於關於NetBIOS的統計資料。運用NetBIOS,你可以查看本地電腦或遠端電腦上的NetBIOS名字表格。

常用選項:

nbtstat -n——顯示寄存在本地的名字和服務程式

nbtstat -c——本命令用於顯示NetBIOS名字快取記憶體的內容。NetBIOS名字快取記憶體用於寸放與本電腦最近進行通信的其他電腦的NetBIOS名字和IP位址對。

nbtstat -r——本命令用於清除和重新載入NetBIOS名字快取記憶體。

nbtstat -a IP——通過IP顯示另一台電腦的物理位址和名字列表,你所顯示的內容就像對方電腦自己運行nbtstat -n一樣

nbtstat -s IP——顯示實用其IP位址的另一台電腦的NetBIOS連接表。

Net

Net命令有很多函數用於實用和核查電腦之間的NetBIOS連接。這裏我只介紹最常用的兩個:net view和net use。

net view UNC——運用此命令,你可以查看目標伺服器上的共用點名字。任何局域網裏的人都可以發出此命令,而且不需要提供用戶ID或口令。UNC名字總是以\\開頭,後面跟隨目標電腦的名字。例如,net view \\lx就是查看主機名為lx的電腦的共用點(見圖15)。

net use 本地盤符 目標電腦共用點——本命令用於建立或取消到達特定共用點的映射驅動器的連接(如果需要,你必須提供用戶ID或口令)。例如,你輸入net use f: \\lx\mp3就是將映射驅動器F:連接到\\lx\mp3共用點上,今後你直接訪問F:就可以訪問\\lx\mp3共用點,這和你右擊“我的電腦”選擇映射網路驅動器類似。

沒有留言: