Windows網絡實用工具大集合

Ping是個使用頻率極高的實用程序,用於確定本地主機是否能與另一臺主機交換(發送與接收)數據報。根據返回的信息,你就可以推斷TCP/IP參數是否設置得正確以及運行是否正常。需要注意的是:成功地與另一臺主機進行一次或兩次數據報交換並不表示TCP/IP配置就是正確的,你必須執行大量的本地主機與遠程主機的數據報交換,才能確信TCP/IP的正確性。
  簡單的說,Ping就是一個測試程序,如果Ping運行正確,你大體上就可以排除網絡訪問層、網卡、MODEM的輸入輸出線路、電纜和路由器等存在的故障,從而減小了問題的範圍。但由於可以自定義所發數據報的大小及無休止的高速發送,Ping也被某些別有用心的人作爲DOS(拒絕服務***)的工具,前段時間Yahoo就是被***利用數百臺可以高速接入互聯網的電腦連續發送大量Ping數據報而癱瘓的。
  按照缺省設置,Windows上運行的Ping命令發送4個ICMP(網間控制報文協議)回送請求,每個32字節數據,如果一切正常,你應能得到4個回送應答(見圖1)。
  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 [url]www.yahoo.com[/url]——對這個域名執行Ping命令,你的計算機必須先將域名轉換成IP地址,通常是通過DNS服務器(關於DNS本刊2000年3期有詳述)。如果這裏出現故障,則表示DNS服務器的IP地址配置不正確或DNS服務器有故障(對於撥號上網用戶,某些ISP已經不需要設置DNS服務器了)。順便說一句:你也可以利用該命令實現域名對IP地址的轉換功能(見圖2)。
  如果上面所列出的所有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頁之類的數據,那麼你就可以用本選項來查看一下所顯示的信息。你需要仔細查看統計數據的各行,找到出錯的關鍵字,進而確定問題所在(見圖3)。
  netstat -e——本選項用於顯示關於以太網的統計數據。它列出的項目包括傳送的數據報的總字節數、錯誤數、刪除數、數據報的數量和廣播的數量。這些統計數據既有發送的數據報數量,也有接收的數據報數量。這個選項可以用來統計一些基本的網絡流量(見圖4)。
  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域名了(見圖5最後一行)。甚至連所用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地址、子網掩碼和缺省網關值,如圖6的上半部分。
  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地址的選項(見圖7,全部詳細資料見圖8)。如果你購買了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——使用本命令能夠人工刪除一個靜態項目。
  以上參數的綜合應用詳見圖9、圖10。
  看到這裏,你也許已經有些累了……其實對於一般用戶來說也已經足夠——你可以用ipconfig和ping命令來查看自己的網絡配置並判斷是否正確、可以用netstat查看別人與你所建立的連接並找出ICQ使用者所隱藏的IP信息、可以用arp查看網卡的MAC地址——這些已足已讓你丟掉菜鳥的頭銜。如果你並不滿足,那就“硬着頭皮”(下面的內容可能有些枯燥)繼續Follow me……

  Tracert

  當數據報從你的計算機經過多個網關傳送到目的地時,Tracert命令可以用來跟蹤數據報使用的路徑。該實用程序跟蹤的路徑是源計算機到目的地的一條路徑,不能保證或認爲數據報總遵循這個路徑。如果你的配置使用DNS,那麼你常常會從所產生的應答中得到城市、地址和常見通信公司的名字。Tracert是一個運行得比較慢的命令(如果你指定的目標地址比較遠),每個路由器你大約需要給它15秒鐘(圖11是Tracert的一個運行結果)。
  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——顯示寄存在本地的名字和服務程序(見圖13)。
  nbtstat -c——本命令用於顯示NetBIOS名字高速緩存的內容。NetBIOS名字高速緩存用於存放與本計算機最近進行通信的其他計算機的NetBIOS名字和IP地址對。
  nbtstat -r——本命令用於清除和重新加載NetBIOS名字高速緩存。
  nbtstat -a IP——通過IP顯示另一臺計算機的物理地址和名字列表,你所顯示的內容就像對方計算機自己運行nbtstat -n一樣(見圖14)。
  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共享點,這和你右擊“我的電腦”選擇映射網絡驅動器類似。

  ftp

  相信現在做主頁的朋友對ftp都很熟悉,ftp的英文名字就是File Transfer protocol(文件傳輸協議),可以這麼說,網絡上的最大的資源就是放在ftp服務器上的,如果你懂得ftp,你才真正的可以隨心所欲地利用網絡資源,你做好的主頁就要利用ftp上傳。現在Linux很盛行,想要下載一個,找一個ftp站點去……
  ftp常見的命令有幾十個,一下子也說不清楚,我們現在就去一個ftp站點下載一個軟件吧:
  打開Windows的“運行窗口”,輸入ftp ftp.cd-rom.com,如圖16,說明你已經來到了cdrom的ftp站點(這可是網絡上最大的ftp站點,Slackware的老家),輸入你的用戶名(由於我們在這裏沒有賬號,所以可以利用匿名登錄,輸入anonymous),口令就輸入你的E-mail地址可以了,然後出現在我們面前的就是cdrom對自己站點的介紹和一些歡迎信息。
  看着黑乎乎的畫面,感覺不知道怎麼辦好?
  試着輸入“pwd”來看看你當前所在的路徑,呵呵……你在他們默認的目錄/pub下邊;
  ls 可以列出他們站點上提供的軟件的目錄;
  cd /pub/win95/compress 來到他們用於Win95的壓縮軟件下載區,重新使用ls看一看都有些什麼,好像有一個wrar260.exe,這個壓縮軟件可是我找了很久的,下載下來;
  get wrar260.exe 下載wrar260.exe;
  mget *.* 將當前目錄下的所有文件全部下載;
  put wrar260.exe 將你本地的wrar260.exe傳到服務器上邊去;
  mput *.* 將當前目錄下的所有文件全部上傳;到這裏,基本的ftp命令你已經學會了,還想要深學一點,呵呵……
  在提示符下邊輸入?試一試,所有本地命令全部顯示出來,還想要看看遠方機器准許你執行那些命令,輸入remotehelp試一試?還是很多命令,但是這些可是遠程機器上邊的命令,你如果要執行,只要在命令前加上一個quote就可以了……,輸入quote SYST,呵呵……出現以下信息:
  215 UNIX Type: L8 Version: BSD-199506(原來cdrom是架設在FreeBSD上邊的)

  Telnet
  這個命令實際上是一個遠程管理命令,如果你在一個Unix系統上有root的權限,你甚至可以直接將機器關閉,打開“運行”窗口,輸入telnet 主機名,你就可以登錄到一個遠方的機器上(見圖17),然後你就可以執行系統准許你執行的命令了,不過Windows自帶的telnet確實很難用,在登錄窗口,你輸入的字符全部都是雙個的出現,我還從來沒有用Windows自帶的telnet登錄到任何的一個機器上呢?還是用Cterm和Netterm吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章