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