DOS,即便對於許多自稱瞭解計算機的人而言,也是一個比較陌生的詞彙。然而,在網絡管理過程當中,DOS命令倒是一個不可逾越的障礙,幾乎全部的網絡命令都運行在DOS界面。對初級用戶而言,掌握一些經常使用網絡命令在網絡測試和配置操做中很是實用;對高級用戶而言,瞭解網絡命令的經常使用參數和使用技巧,能夠獲取更多的配置和故障信息,從而更好地、有針對性地解決問題。
1、顯示和修改本地ARP列表——ARP
ARP(Address Resolution Protocol)是負責將IP地址解析成MAC地址的協議,對於網絡中的高層應用程序,網絡主機之間的通信是靠IP地址來完成,但在TCP/IP協議的最低層,主機之間的信息交換則是經過MAC地址來定位的。每臺裝有網卡的主機中都有一個ARP表,保存着同一網絡中IP到MAC之間的映射記錄。ARP表並非一成不變的,大約每2分鐘更新一`次,這種紀錄稱爲動態式(Dyanmi)記錄。還有一種稱爲靜態記錄,也就是表中的記錄不變,直到TCP/IP協議重啓後纔會消失。
ARP命令用於顯示和修改「地址解析協議(ARP)」緩存中的項目。ARP緩存中包含一個或多個表,它們用於存儲IP地址及其通過解析的以太網或令牌環網絡適配器的物理地址。計算機上安裝的每個以太網或令牌環網絡適配器都有本身單獨的表。ARP命令能夠對這個表中的記錄進行添加和修改,實現對ARP表的維護。若是使用ARP命令時不帶參數,則顯示幫助信息。
實例1: 要查看本機的ARP表,能夠在命令提示符下鍵入以下命令:
ARP –a
回車,命令運行結果顯示如圖1所示。
圖1
這就是當前本機的ARP表中的記錄,也就是近一段時間內與本機通信的主機。如圖中所示,Internet Address顯示的是IP地址,而Physical Address顯示的是該IP地址所對應的MAC地址。Type說明該記錄是動態記錄。
實例2:添加將IP地址192.168.0.9解析成物理地址00-50-BA-25-96-00的靜態ARP緩存項。在命令提示符下,鍵入以下命令:
arp -s 192.168.0.9 00-50-BA-25-96-00
回車執行該命令,該靜態項即添加完畢。而後執行arp -a命令查詢ARP表,顯示如圖14所示的記錄。
圖2
ARP在添加靜態記錄以前,必須有一個MAC尋址的過程。當一個TCP/IP的包要發出時,會先查看本機ARP表中的記錄是否有該IP的記錄。若是有,則直接轉換成該IP對應的MAC,若是沒有,則將發一個ARP Request廣播封包向對方查詢MAC地址,這個廣播包會被同一子網內的全部主機收到,但只有與該IP相同的主機接收,並回答一個ARP APPLY封包,該包有相應IP與MAC的信息,這樣就能夠找到相應的主機的MAC地址。
在ARP表中的記錄通常是動態的,大約每2分鐘刷新一次。若是本地主機有頻繁的IP要訪問時,好比網關、代理服務器、路由器等,爲了減小發ARP Request廣播包,能夠在ARP表中建立靜態記錄。
2、查看網絡配置信息命令——Ipconfig和Winipcfg
Ipconfig命令用於顯示本地網卡的IP地址,使用該命令,能夠查看當前全部的TCP/IP網絡配置值、刷新動態主機配置協議(DHCP)和域名系統(DNS)設置。該命令只能在Windows 98/Me/2000/XP的命令行窗口中運行,而不能在實模式DOS環境、或者Windows 2000/XP的故障恢復控制檯下運行。並且Windows 98/Me與Windows 2000/XP系統下的Ipconfig命令之間也存在着必定的區別,下面分別以Windows XP和Windows 98爲例進行比較和介紹。
一般,用戶須要查看的僅僅是IP地址信息,使用不帶參數的Ipconfig就能夠顯示全部適配器的 IP 地址、子網掩碼和默認網關。在命令提示符下鍵入以下命令:
Ipconfig
回車,會顯示如圖3所示運行結果。
圖3
該命令還能夠查看主機的相關配置信息,如主機名、DNS服務器、節點類型、網絡適配置器的物理地址等。其中網絡適配器的物理地址在檢測網絡錯誤時很是有用,並且在遠程喚醒網絡上的某臺計算機時,也必須先知道該計算機網卡的物理地址,即網卡的Mac地址。因爲每一個網卡的Mac地址是全球惟一的,這樣就能很準確的定位到要喚醒的計算機。在Windows XP的命令提示符下,鍵入以下命令:
ipconfig /all
而後回車,運行結果顯示如圖4所示。
圖4
在Windows98下執行Ipconfig /all命令的結果和Windows XP下略有不一樣。在Windows98下的執行結果顯示如圖5所示。
圖5
另外,在Windows 98/95操做系統中,查看網絡配置信息還可使用Winipcfg命令,執行後提供圖形化界面。在Windows 98/95的MS-DOS窗口中鍵入以下命令:
Winipcfg
回車運行,顯示如圖6所示「IP配置」對話框,能夠看到本機的網絡配置信息。
圖6
若是單擊「詳細信息」按鈕,還能夠查看有關主機信息、DNS服務器信息等,顯示如圖7所示對話框。
圖7
3、顯示NetBIOS協議的統計資料命令——Nbtstat
Nbtstat命令是Windows下自帶的NetBIOS管理工具,用於顯示本地計算機和遠程計算機的基於TCP/IP協議的NetBIOS統計資料、NetBIOS名稱表和NetBIOS名稱緩存。Nbtstat能夠刷新NetBIOS名稱緩存和註冊的Windows Internet名稱服務(WINS)名稱。若是使用不帶參數的Nbtstat命令,將會顯示有關該命令的幫助信息。
而NetBIOS(Network Basic Input Output System,網絡基本輸入輸出系統),是局域網 (LAN) 上的程序可使用的應用程序編程接口(API),幾乎全部的局域網計算機都是在NetBIOS基礎上工做的。NetBIOS爲程序提供了請求低級服務的統一的命令集,這些服務是管理名稱、執行會話和在網絡節點之間發送數據報所要求的。
實例1:若是要顯示計算機名爲liusm的遠程計算機的NetBIOS名稱表,在命令提示符下鍵入下面命令:
nbtstat -a liusm
回車運行後的執行結果顯示如圖8所示。
圖8
由此能夠知道,計算機名爲liusm的遠程計算機屬於MSHOME工做組,同時能得到遠程計算機的網絡適配器的MAC地址(12-34-56-78-90-AB)。
實例2:顯示IP地址爲211.82.219.211的遠程計算機的MAC地址和NetBIOS名稱表,能夠在命令提示符下鍵入以下命令行:
nbtstat -a 211.82.219.211
回車運行後的結果顯示如圖9所示。
圖9
該命令的做用和實例1中的命令做用相同,這裏再也不贅述。
實例3:顯示本地計算機的NetBIOS名稱表,能夠在命令提示符下鍵入以下命令:
nbtstat -n
回車,運行後的結果顯示如圖10所示。
圖10
從執行結果中能夠得知該計算機的NetBIOS名、所在域(或工做組)以及當前登陸的用戶等信息。
實例4:顯示本地計算機NetBIOS名稱緩存的內容,在命令提示符下鍵入以下命令:
nbtstat -c
回車運行後的結果顯示如圖11所示。
圖11
從上面的運行結果中能夠看出,本地計算機曾經與211.82.216.x和211.82.219.x網段的計算機鏈接過。由於NetBIOS的緩存裏儲存的IP是對方已經信任你的計算機IP,於是這也給網絡安全帶來了隱患。
4、顯示網絡鏈接信息——Netstat
在服務器與網絡的管理中,須要常常查看服務器所開放的端口、當前的全部鏈接,以便隨時瞭解網絡狀態。這時就要用Netstat命令。該命令可讓管理員輕鬆查看計算機系統服務是否正常,是否被「黑客」留下後門、木馬等。Netstat同時也是一個實時的入侵檢測工具,能夠隨時查看是否有不正常的鏈接。
Netstat命令用於顯示活動的TCP鏈接、計算機偵聽的端口、以太網統計信息、IP路由表、IPv4統計信息(對於IP、ICMP、TCP和UDP協議)。使用時若是不帶任何參數,Netstat命令將顯示活動的TCP鏈接。
實例1:顯示本機全部活動的TCP鏈接以及計算機偵聽的TCP和UDP端口。
在命令提示符下鍵入以下命令:
Netstat –a
回車,運行後的結果顯示如圖12所示:
圖12
從運行結果能夠知道計算機當前開放的TCP和UDP端口,並與蠕蟲病毒和黑客程序的端口相對照,確認是否感染病毒或被惡意攻擊。
實例2:顯示當前活動的TCP/IP鏈接
在命令提示符下鍵入以下命令:
Netstat -n 或者 Netstat(不帶任何參數)
回車,運行後的結果顯示如圖13所示:
圖13
該圖中顯示計算機的當前鏈接狀況,來訪者的IP與鏈接端口一覽無遺。該命令與使用-a參數不一樣的是,這裏只以IP的形式來表示當前的全部鏈接,而不解析對方的NetBIOS名字。
實例3:顯示以太網統計信息和全部協議的統計信息
在命令提示符下鍵入以下命令:
Netstat -s-e
回車,運行後的結果顯示如圖14所示。
圖14
實例4:檢查路由表肯定路由配置狀況
在命令提示符下鍵入以下命令,
Netstat -rn
回車,運行後的結果顯示如圖15所示。
圖15
5、洞悉網絡連通測試命令——Ping
在網絡中,常常會出現網絡不通等問題,這就須要網絡管理員來檢查並排除網絡故障,包括檢查網絡配置信息,檢查硬件鏈接,使用網絡命令測試等,而在命令檢測中,用得最多的就是Ping命令了。
Ping是使用最頻繁的網絡測試命令,主要用於肯定網絡的連通性。Ping程序使用ICMP協議來簡單地發送一個網絡包並請求應答,接收請求的目標主機再次使用ICMP返回與接收的數據同樣的數據包,因而Ping即可根據每一個包發送和接收報告的往返時間,報告無響應包的百分比,這能夠判斷網絡是否正確鏈接,以及網絡鏈接的情況(丟包率)。
1. Ping命令的應用
Ping是Windows操做系統集成的TCP/IP應用程序之一,一般在命令提示符下運行。利用Ping命令能夠有效地測試網絡連通故障,並可肯定網絡故障發生的大體緣由,下面就來看看該命令的簡單應用。
(1)Ping本地地址或127.0.0.1
Ping本地計算機的IP地址或127.0.0.1,能夠確認:
l 該計算機是否正確安裝了網卡。若是測試不成功,應當在「設備管理器」中查看網卡是否有黃色的「!」。若是有,則刪除該網卡或從新正確安裝。若是沒有,說明網卡安裝正確。
l 該計算機是否正確安裝了TCP/IP協議。若是測試不成功,應打開控制面板的「網絡」屬性查看是否安裝TCP/IP協議。若是沒有,則需安裝TCP/IP協議並正確配置後,從新啓動計算機並再次測試。若是已經安裝,繼續向下檢查。
l 該計算機是否正確配置了IP地址和子網掩碼。若是測試不成功,應打開控制面板的「網絡」屬性查看IP地址和子網掩碼是否設置正確。若是不正確,需從新設置,從新啓動計算機並再次測試。
(2)Ping同一VLAN中其它計算機的地址
Ping同一VLAN中其餘計算機的地址,能夠確認:
l IP地址、子網掩碼的設置是否正確。若是測試不成功,應打開控制面板的「網絡」屬性查看IP地址和子網掩碼是否設置正確。若是設置不正確,需從新設置,從新啓動計算機並再次測試。若是設置正確,繼續向下檢查。
l 網絡鏈接是否正常。若是測試不成功,應當對網絡設備和通信介質逐段測試、檢查和排除。
(3)Ping Internet中遠程主機的地址
Ping Internet中遠程主機的地址,能夠確認:
l 網關的設置是否正確。若是測試不成功,應打開控制面板的「網絡」屬性查看默認網關設置是否正確。若是不正確,需從新設置,而後從新啓動計算機並再次測試。若是設置正確,繼續向下檢查。
l 域名服務器設置是否正常。若是使用域名測試不成功,應打開控制面板的「網絡」屬性查看域名服務器(DNS)設置是否正確。若是正確,繼續向下檢查。
l 路由器的配置是否正確。若是該計算機被加入到禁止出站訪問的IP控制列表中,那麼,該用戶將沒法訪問Internet。
l Internet鏈接是否正常。若是到任何一個主機的鏈接都超時,或丟包率都很是高,則應當與ISP共同檢查Internet鏈接,包括線路、Modem和路由器設置等諸多方面。
2. 常見的出錯信息
常見的出錯信息一般分爲四種狀況:
● unknown host
unknown host(不知名主機)表示該遠程主機名不能被命名服務器轉換成IP地址。故障緣由多是命名服務器有故障,或者其名稱不正確,或者網絡管理員的系統與遠程主機之間的通訊線路有故障。
● Network unreachable
Network unreachable(網絡不能到達)表示本地系統沒有到達遠程系統的路由,可用netstat –rn命令檢查路由表來肯定路由配置狀況。
● No answer
No answer(無響應),遠程系統沒有響應。這種說明本地系統有一條到達遠程主機的路由,但卻接受不到它發給該遠程主機的任何分組報文。故障緣由多是遠程主機沒有工做,或本地或遠程主機網絡配置不正確,或本地或遠程的路由器沒有工做,或通訊線路有故障,或遠程主機存在路由選擇問題。
● timed out
timed out(超時),表示與遠程主機的連接超時,數據包所有丟失。故障緣由多是到路由器的鏈接問題、路由器不能經過、也多是遠程主機已經當機。
3. 應用實例
在「Ping命令的應用」一節,詳細介紹了Ping命令的應用,當出現網絡故障時,一般就是使用所介紹的順序進行網絡故障診斷與排除;在出現的Ping的結果中,分析網絡的連通性,找出故障所在,從而在故障排除過程當中作到有的放矢。下面就Ping命令的實際應用列舉幾個簡單的例子。
實例1:如下範例顯示Ping的輸出:
在命令提示符下鍵入以下命令:
Ping [url]www.coolpen.org[/url]
回車執行,若是顯示如圖16所示的運行結果,則代表鏈接正常,全部發送的包均被成功接收,丟包率爲0。
圖16
這裏對測試結果中的一些數據做簡單解釋:
Pinging [url]www.coolpen.org[/url] [61.159.62.166] with 32 bytes of data
這裏的「32 bytes」中的「32」指的是發送的消息,及迴響的消息數據字段值爲32字節。
Reply from 61.159.62.166: bytes=32 time=44ms TTL=113
這裏的「44ms」,指的是從發送數據到收到迴響所經歷的時間,該時間值通常有必定限制,當相應時間超過4000ms(即4s)時,將顯示鏈接超時。
「TTL=113
」,這裏的TTL值默認爲對方主機的TTL值,根據TTL值通常能夠肯定該計算機使用哪一種操做系統。對於使用Windows XP/2000的計算機,該值通常爲128;Windows 98計算機的TTL值通常爲64,Unix計算機機的TTL值通常爲255。不過在註冊表中能夠隨意改變TTL值,因此利用該值來肯定主機的操做系統並不必定準確。
若是執行以下命令:
Ping [url]www.coolpen.com[/url]
顯示如圖17所示測試消息,則代表網絡鏈接不正常,或對方對ICMP包做了過濾,所以,全部發送的包均未被成功接收,丟包率爲100%,目的主機不可到達。
圖17
實例2:若是網絡Ping不通,在設備或線路調試期間,可使用「-t」參數一直進行測試。只要按下「Ctrl-C」組合鍵停止該命令爲止。
Ping -t [url]www.coolpen.net[/url]
回車運行,命令執行結果顯示如圖18所示。
圖18
實例3:
若欲測試代理服務器或路由器的性能,可使用大字段的消息值,從而增長網絡流量。須要注意的是,「數據」字段長度(以字節表示)默認值爲 32,指定的數據包不能大於65527。
圖19
實例3:驗證到某個IP地址或域名的的連通性,並記錄所通過的路由。該命令在使用上與tracert有相似之處,均可以追蹤路由。
在命令提示符下,執行以下命令:
Ping -r 4 [url]www.hengshui.com[/url]
圖20
6、數據包跟蹤診斷——Tracert
當數據報從本地計算機通過多個網關傳送到目的地時,它會尋找一條具體路徑來傳送,每次傳送數據報,不能保證或認爲總遵循惟一的一條路經。那麼如何知道發送的數據報所通過的路徑呢?這時就要用到Tracert命令。Tracert命令一樣是內置於Windows的TCP/IP應用程序之一,能夠對IP地址或URL進行相應的域名轉換。Tracert通常用來檢測故障的位置,經過追蹤路由,能夠判斷髮生故障的路由設備或網關,以及發生故障的區段,從而便於查找和排除故障。
Tracert診斷實用程序將包含不一樣生存時間(TTL)值的Internet消息控制協議(ICMP)回顯數據包發送到目標,以決定到達目標使用的路由。要在轉發數據包上的TTL以前至少遞減1,必需路徑上的每一個路由器,因此TTL是有效的躍點計數。數據包上的TTL達到0時,路由器應該將「ICMP已超時」的消息發送回源系統。Tracert先發送TTL爲1的回顯數據包,並在隨後的每次發送過程將TTL遞增1,直到目標響應或TTL達到最大值,從而肯定路由。路由經過檢查中級路由器返回的「ICMP 已超時」的消息來肯定路由。不過,有些路由器下傳包含過時TTL值的數據包,而Tracert看不到。
實例1:追蹤到[url]www.hengshui.com[/url]的路由,測試局域網絡和Internet鏈接是否正常,以及致使故障發生的路由器的位置。
在命令提示符下執行以下命令行:
Tracert [url]www.hengshui.com[/url]
命令執行結果顯示如圖21所示,從運行結果可知,局域網絡和Internet鏈接均正常。
圖21
7、顯示和修改本地路由表命令——Route
大多數主機都駐留在只鏈接一臺路由器的網段上,所以不存在使用哪一臺路由器將數據報發表到遠程計算機上的問題,該路由器的IP地址便是該網段上全部計算機的缺省網關。可是,當網絡上擁有兩個或多個路由器時,就不必定只依賴缺省網關了。可讓某些遠程IP地址經過某個特定的路由器來傳遞,而其餘的遠程IP經過另外一個路由器來傳遞。這時,須要相應的路由信息,這些信息儲存在路由表中,每一個主機和每一個路由器都配有本身獨一無二的路由表。大多數路由器使用專門的路由協議來交換和動態更新路由器之間的路由表。但在有些狀況下,必須手動將項目添加到路由器和主機上的路由表中。這時就要用到Route命令,它用來顯示、人工添加和修改路由表項目。
若是要查看Route命令的幫助信息,可在命令提示符下運行不帶任何參數的Route命令。
下面就經過幾個簡單的實例,來具體看一看Route命令的簡單應用。
實例1:顯示路由表中的當前項目
在命令提示符下,鍵入以下命令行:
Route print
回車,命令的執行結果顯示如圖22所示。
圖22
因爲用IP地址配置了網卡,所以全部的這些項目都是自動添加的。
實例2:顯示IP路由表中以211開始的路由
在命令提示符下鍵入以下命令:
Route print 211.*
回車,運行結果顯示如圖23所示。
圖23
實例3:利用route能夠在計算機中設置多個默認網關。例如,對192.168.0.0網段的訪問使用192.168.0.1網關,對其餘網段的訪問則使用192.168.1.1網關。那麼,能夠執行如下命令:
route add 192.168.0.0 mask 255.255.255.0 192.168.0.1
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1
來源:http://blog.csdn.net/xumin07061133/article/details/7506045