一、Ping
相信玩過網(wǎng)絡(luò)的人都會對“Ping”這個命令有所了解或耳聞。Ping命令是Windows9X/NT中集成的一個專用于TCP/IP協(xié)議的測試工具,ping命令是用于查看網(wǎng)絡(luò)上的主機是否在工作,它是通過向該主機發(fā)送ICMP ECHO_REQUEST包進行測試而達到目的的。一般凡是應(yīng)用TCP/IP協(xié)議的局域或廣域網(wǎng)絡(luò),不管你是內(nèi)部只有幾臺電腦的家庭、辦公室局域網(wǎng),還是校園網(wǎng)、企業(yè)網(wǎng)甚至Internet國際互聯(lián)網(wǎng)絡(luò),當(dāng)客戶端與客戶端之間無法正常進行訪問或者網(wǎng)絡(luò)工作出現(xiàn)各種不穩(wěn)定的情況時,建議大家一定要先試試用Ping這個命令來測試一下網(wǎng)絡(luò)的通信是否正常,多數(shù)時候是可以一次奏效的。
1.Ping命令的語法格式
ping命令看似小小的一個工具,但它帶有許多參數(shù),要完全掌握它的使用方法還真不容易,要達到熟練使用則更是難下加難,但不管怎樣我們還得來看看它的真面目,首先我們還是從最基本的命令格式入手吧!
ping命令的完整格式如下:
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j -Host list] | [-k Host-list]] [-w timeout] destination-list
從這個命令式中可以看出它的復(fù)雜程度,ping命令本身后面都是它的執(zhí)行參數(shù),現(xiàn)對其參數(shù)作一下詳細(xì)講解吧!
-t—有這個參數(shù)時,當(dāng)你ping一個主機時系統(tǒng)就不停的運行ping這個命令,直到你按下Control-C。
-a—解析主機的NETBIOS主機名,如果你想知道你所ping的要機計算機名則要加上這個參數(shù)了,一般是在運用ping命令后的第一行就顯示出來。
-n count—定義用來測試所發(fā)出的測試包的個數(shù),缺省值為4。通過這個命令可以自己定義發(fā)送的個數(shù),對衡量網(wǎng)絡(luò)速度很有幫助,比如我想測試發(fā)送20個數(shù)據(jù)包的返回的平均時間為多少,最快時間為多少,最慢時間為多少就可以通過執(zhí)行帶有這個參數(shù)的命令獲知。
-l length—定義所發(fā)送緩沖區(qū)的數(shù)據(jù)包的大小,在默認(rèn)的情況下windows的ping發(fā)送的數(shù)據(jù)包大小為32byt,也可以自己定義,但有一個限制,就是最大只能發(fā)送65500byt,超過這個數(shù)時,對方就很有可能因接收的數(shù)據(jù)包太大而死機,所以微軟公司為了解決這一安全漏洞于是限制了ping的數(shù)據(jù)包大小。
-f—在數(shù)據(jù)包中發(fā)送“不要分段”標(biāo)志,一般你所發(fā)送的數(shù)據(jù)包都會通過路由分段再發(fā)送給對方,加上此參數(shù)以后路由就不會再分段處理。
-i ttl—指定TTL值在對方的系統(tǒng)里停留的時間,此參數(shù)同樣是幫助你檢查網(wǎng)絡(luò)運轉(zhuǎn)情況的。
-v tos—將“服務(wù)類型”字段設(shè)置為“tos”指定的值。
-r count—在“記錄路由”字段中記錄傳出和返回數(shù)據(jù)包的路由。一般情況下你發(fā)送的數(shù)據(jù)包是通過一個個路由才到達對方的,但到底是經(jīng)過了哪些路由呢?通過此參數(shù)就可以設(shè)定你想探測經(jīng)過的路由的個數(shù),不過限制在了9個,也就是說你只能跟蹤到9個路由。
-s count—指定“count”指定的躍點數(shù)的時間戳,此參數(shù)和-r差不多,只是這個參數(shù)不記錄數(shù)據(jù)包返回所經(jīng)過的路由,最多也只記錄4個。
-j host-list —利用“computer-list” 指定的計算機列表路由數(shù)據(jù)包。連續(xù)計算機可以被中間網(wǎng)關(guān)分隔IP 允許的最大數(shù)量為 9。
-k host-list —利用“computer-list” 指定的計算機列表路由數(shù)據(jù)包。連續(xù)計算機不能被中間網(wǎng)關(guān)分隔IP 允許的最大數(shù)量為 9。
-w timeout—指定超時間隔,單位為毫秒。
destination-list —是指要測試的主機名或IP地址
2.Ping命令的應(yīng)用
(1)、測試網(wǎng)絡(luò)的通暢
我們知道可以用ping命令來測試一下網(wǎng)絡(luò)是否通暢,這在局域網(wǎng)的維護中經(jīng)常用到,方法很簡單,只需要在DOS或Windows的開始菜單下的“運行”子項中用ping命令加上所要測試的目標(biāo)計算機的IP地址或主機名即可(目標(biāo)計算機要與你所運行ping命令的計算機在同一網(wǎng)絡(luò)或通過電話線或其它專線方式已連接成一個網(wǎng)絡(luò)),其它參數(shù)可全不加。如要測試臺IP地址為196.168.1.21的工作站與服務(wù)器是否已連網(wǎng)成功,就可以在服務(wù)器上運行:ping -a 196.`68.123.56 即可,如果工作站上TCP/IP協(xié)議工作正常,即會以DOS屏幕方式顯示如下所示的信息:
Pinging cindy[196.168.1.21] with 32 bytes of data:
Reply from 196.168.1.21: bytes=32 time<10ms TTL=254
Reply from 196.168.1.21: bytes=32 time<10ms TTL=254
Reply from 196.168.1.21: bytes=32 time<10ms TTL=254
Reply from 196.168.1.21: bytes=32 time<10ms TTL=254
Ping statistics for 196.168.1.21:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
從上面我們就可以看出目標(biāo)計算機與服務(wù)器連接成功,TCP/IP協(xié)議工作正常,因為加了"-a"這個參數(shù)所以還可以知道IP為196.168.1.21的計算機的NetBIOS名為cindy。
如果網(wǎng)絡(luò)未連成功則顯示如下錯誤信息:
Pinging[196.168.1.21 ] with 32 bytes of data
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistice for 196.168.1.21:
Packets:Sent=4,Received =0,Lost=4(100% loss),
Approximate round trip times in milli-seconds
Minimum=0ms,Maximum=0ms,Average=0ms
為什么不管網(wǎng)絡(luò)是否連通在提示信息中都會有重復(fù)四次一樣的信息呢(如上的“Reply from 196.168.1.21: bytes=32 time<10ms TTL=254 “和”Request timed out”),那是因為一般系統(tǒng)默認(rèn)每次用ping測試時是發(fā)送四個數(shù)據(jù)包,這些提示就是告訴你所發(fā)送的四個數(shù)據(jù)包的發(fā)送情況。
出現(xiàn)以上錯誤提示的情況時,就要仔細(xì)分析一下網(wǎng)絡(luò)故障出現(xiàn)的原因和可能有問題的網(wǎng)上結(jié)點了,一般首先不要急著檢查物理線路,先從以下幾個方面來著手檢查:一是看一下被測試計算機是否已安裝了TCP/IP協(xié)議;二是檢查一下被測試計算機的網(wǎng)卡安裝是否正確且是否已經(jīng)連通;三是看一下被測試計算機的TCP/IP協(xié)議是否與網(wǎng)卡有效的綁定(具體方法是通過選擇“開始→設(shè)置→控制面板→網(wǎng)絡(luò)”來查看);四是檢查一下Windows NT服務(wù)器的網(wǎng)絡(luò)服務(wù)功能是否已啟動(可通過選擇“開始→設(shè)置→控制面板→服務(wù)”,在出現(xiàn)的對話框中找到“Server”一項,看“狀態(tài)”下所顯示的是否為“已啟動”)。如果通過以上四個步驟的檢查還沒有發(fā)現(xiàn)問題的癥結(jié),這時再查物理連接了,我們可以借助查看目標(biāo)計算機所接HUB或交換機端口的批示燈狀態(tài)來判斷目標(biāo)計算機現(xiàn)網(wǎng)絡(luò)的連通情況。
(2)、獲取計算機的IP地址
利用ping這個工具我們可以獲取對方計算機的IP地址,特別是在局域網(wǎng)中,我們經(jīng)常是利用NT或WIN2K的DHCP動態(tài)IP地址服務(wù)自動為各工作站分配動態(tài)IP地址,這時當(dāng)然我們要知道所要測試的計算機的NETBIOS名,也即我們通常在“網(wǎng)絡(luò)鄰居”中看到的“計算機名”。使用ping命令時我們只要用ping命令加上目標(biāo)計算機名即可,如果網(wǎng)絡(luò)連接正常,則會顯示所ping的這臺機的動態(tài)IP地址。其實我們完全可以在互聯(lián)網(wǎng)使用,以獲取對方的動態(tài)IP地址,這一點對于黑客來說是比較有用的,當(dāng)然首先的一點就是你先要知道對方的計算機名。
(3)、上述應(yīng)用技巧其實重點是Ping 命令在局域網(wǎng)中的應(yīng)用,其實Ping命令不僅在局域網(wǎng)中廣泛使用,在Internet互聯(lián)網(wǎng)中也經(jīng)常使用它來探測網(wǎng)絡(luò)的遠程連接情況。平時,當(dāng)我們遇到以下兩種情況時,需要利用Ping工具對網(wǎng)絡(luò)的連通性進行測試。比如當(dāng)某一網(wǎng)站的網(wǎng)頁無法訪問時,可使用Ping命令進行檢測。另外,我們在發(fā)送E-mail之前也可以先測試一下網(wǎng)絡(luò)的連通性。許多因特網(wǎng)用戶在發(fā)送E-mail后經(jīng)常收到諸如“Returned mail:User unknown”的信息,這說明您的郵件未發(fā)送到目的地。為了避免此類事件再次發(fā)生,所以建議大家在發(fā)送E-mail 之前先養(yǎng)成Ping對方郵件服務(wù)器地址的習(xí)慣。例如,當(dāng)您給163網(wǎng)站郵件用戶發(fā)郵件時,可先鍵入“ping 163.com”(其實163.com就是網(wǎng)易的其中一臺服務(wù)器名)進行測試,如果返回類似于“Bad IP address 163.com”或“Request times out”或“Unknow host 163.com”等的信息,說明對方郵件服務(wù)器的主機未打開或網(wǎng)絡(luò)未連通。這時即使將郵件發(fā)出去,對方也無法收到。
二、Ipconfig/Winipcfg
與Ping 命有所區(qū)別,利用Ipconfig和Winipcfg工具可以查看和修改網(wǎng)絡(luò)中的TCP/IP協(xié)議的有關(guān)配置,如IP地址、網(wǎng)關(guān)、子網(wǎng)掩碼等。這兩個工具在Windows 95/98中都能使用,功能基本相同,只是Ipconfig 是以 DOS的字符形式顯示,而Winipcfg則用圖形界面顯示,也就是其實兩個工具是一個工具,只不過一個是DOS下的版本,另一個為WINDWOS下的版本,但要注意,在Windows NT中只能運行于DOS方式下的Ipconfig工具。
1.Ipconfig命令的語法格式
Ipconfig[/all][/batch file][/renew all][/release all][/renew n][/release n]
all--顯示與TCP/IP協(xié)議相關(guān)的所有細(xì)節(jié)信息,其中包括測試的主機名、IP地址、子網(wǎng)掩碼、節(jié)點類型、是否啟用IP路由、網(wǎng)卡的物理地址、默認(rèn)網(wǎng)關(guān)等。
Batch file—將測試的結(jié)果存入指定的“file”文件名中,以便于逐項查看,如果省略file文件名,則系統(tǒng)會把這測試的結(jié)果保存在系統(tǒng)的“winipcfg.out”文件中。
renew all—更新全部適配器的通信配置情況,所有測試重新開始。
release all—釋放全部適配器的通信配置情況,
renew n—更新第n號適配器的通信配置情況,所有測試重新開始。
release n—釋放第n號適配器的通信配置情況,
2.Winipcfg命令
Winipcfg工具的功能與Ipconfig基本相同,只是Winipcfg是以圖形界面的方式顯示。在操作上更加方便,同時能夠以WINDOWS的32位圖形界面方式顯示。當(dāng)用戶需要查看任何一臺機器上TCP/IP協(xié)議的配置情況時,只需在Windows 95/98上選擇“開始→運行”,在出現(xiàn)的對話框中輸入命令“winipcfg”,將出現(xiàn)測試結(jié)果。單擊“詳細(xì)信息”按鈕,在隨后出現(xiàn)的對話框中可以查看和改變TCP/IP的有關(guān)配置參靈敏,當(dāng)一臺機器上安裝有多個網(wǎng)卡時,可以查找到每個網(wǎng)卡的物理地址和有關(guān)協(xié)議的綁定情況,這在某些時候?qū)ξ覀兪翘貏e有用的。如果要獲取更多的信息,可單擊圖中的“詳細(xì)信息”按鈕,在出現(xiàn)的對話框中可以相看到比較全面的信息。
3、ipconfig/winipcfg的應(yīng)用
上面我講了一下這兩姊妹TCP/IP測試工具的一些用法,下面我就來談她們的一些用途。
(1)、查找目標(biāo)主機的IP地址及其它有關(guān)TCP/IP協(xié)議的信息,方法如下:按「開始」菜單執(zhí)行「運行」菜單項,輸入 winipcfg,就會出現(xiàn)一個 IP 組態(tài)窗口,這里會顯示有關(guān)于你目前網(wǎng)絡(luò) IP 的一些詳細(xì)設(shè)置數(shù)據(jù)?;蛘撸阋部梢栽?MS-DOS 模式下,輸入 ipconfig,也是一樣可以顯示詳細(xì)的 IP 信息,只不過此畫面是在 DOS 下而已。
(2)、ipconfig/winipcfg應(yīng)該說是一款網(wǎng)絡(luò)偵察的利器,尤其當(dāng)用戶的網(wǎng)絡(luò)中設(shè)置的是DHCP(動態(tài)IP地址配置協(xié)議)時,利用Ipconfig/winipcfg可以讓用戶很方便地了解到所用IPconfig/winipcfg機的IP地址的實際配置情況。因為它有一個“/all”這個參數(shù),所以它可偵查到本機上所有網(wǎng)絡(luò)適配的IP地址分配情況,比ping命令更為詳細(xì)。如果我們在機房winda客戶端上運行"Ipconfig/all/batch winda.txt"后,打開winda.txt文件,將顯示如下所示的內(nèi)容,非常詳細(xì)地顯示了所有與TCP/IP協(xié)議有關(guān)的配置情況 。當(dāng)然與ping相比也有它的不足之處就是它只能在本機上測試,不能運用網(wǎng)絡(luò)功能來測試。
三、Netstat
與上述幾個網(wǎng)絡(luò)檢測軟件類似,Netstat命令也是可以運行于Windows 95/98/NT的DOS提示符下的工具,利用該工具可以顯示有關(guān)統(tǒng)計信息和當(dāng)前TCP/IP網(wǎng)絡(luò)連接的情況 ,用戶或網(wǎng)絡(luò)管理人員可以得到非常詳盡的統(tǒng)計結(jié)果。當(dāng)網(wǎng)絡(luò)中沒有安裝特殊的網(wǎng)管軟件,但要對整個網(wǎng)絡(luò)的使用狀況作個詳細(xì)地了解時,就是Netstat大顯身手的時候了。
它可以用來獲得你的系統(tǒng)網(wǎng)絡(luò)連接的信息(使用的端口和在使用的協(xié)議等),收到和發(fā)出的數(shù)據(jù),被連接的遠程系統(tǒng)的端口等。
1、Netstat命令的語法格式
Nbtstat 格式:netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval]
參數(shù)解釋如下:
-a—用來顯示在本地機上的外部連接,它也顯示我們遠程所連接的系統(tǒng),本地和遠程系統(tǒng)連接時使用和開放的端口,以及本地和遠程系統(tǒng)連接的狀態(tài)。這個參數(shù)通常用于獲得你的本地系統(tǒng)開放的端口,用它您可以自己檢查你的系統(tǒng)上有沒有被安裝木馬,如果您在你的機器上運行Netstat,如發(fā)現(xiàn)諸如:Port 12345(TCP) Netbus、Port 31337(UDP) Back Orifice之類的信息,則你的機器上就很有可能感染了木馬。
-n—這個參數(shù)基本上是-a參數(shù)的數(shù)字形式,它是用數(shù)字的形式顯示以上信息,這個參數(shù)通常用于檢查自己的IP時使用,也有些人使用他是因為更喜歡用數(shù)字的形式。
-e—顯示靜態(tài)太網(wǎng)統(tǒng)計,該參數(shù)可以與 -s 選項結(jié)合使用。
-p protocol—用來顯示特定的協(xié)議配置信息,它的格式為:Netstat -p xxx,xxx可以是UDP、IP、ICMP或TCP,如要顯示機器上的TCP協(xié)議配置情況則我們可以用:Netstat -p tcp。
-s—顯示機器的缺省情況下每個協(xié)議的配置統(tǒng)計,缺省情況下包括TCP、IP、UDP、ICMP等協(xié)議。 -r—用來顯示路由分配表。
interval—每隔“interval”秒重復(fù)顯示所選協(xié)議的配置情況,直到按“CTRL+C”中斷。
2、netstat的應(yīng)用
從以上各參數(shù)的功能我們可以看出netstat工具至少有以下向方面的應(yīng)用:
(1)、顯示本地或與之相連的遠程機器的連接狀態(tài),包括TCP、IP、UDP、ICMP協(xié)議的使用情況,了解本地機開放的端口情況;
(2)、檢查網(wǎng)絡(luò)接口是否已正確安裝,如果在用netstat這個命令后仍不能顯示某些網(wǎng)絡(luò)接口的信息,則說明這個網(wǎng)絡(luò)接口沒有正確連接,需要重新查找原因。
(3)、通過加入“-r”參數(shù)查詢與本機相連的路由器地址分配情況;
(4)、還可以檢查一些常見的木馬等黑客程序,因為任何黑客程序都需要通過打開一個端口來達到與其服務(wù)器進行通信的目的,不過這首先要使你的這臺機連入互聯(lián)網(wǎng)才行,不然這些端口是不可能打開的,而且這些黑客程序也不會起到入侵的本來目的。
四、nbtstat
NBTSTAT命令:用于查看當(dāng)前基于NETBIOS的TCP/IP連接狀態(tài),通過該工具你可以獲得遠程或本地機器的組名和機器名。雖然用戶使用ipconfig/winipcfg工具可以準(zhǔn)確地得到主機的網(wǎng)卡地址,但對于一個已建成的比較大型的局域網(wǎng),要去每臺機器上進行這樣的操作就顯得過于費事了。網(wǎng)管人員通過在自己上網(wǎng)的機器上使用DOS命令nbtstat,可以獲取另一臺上網(wǎng)主機的網(wǎng)卡地址。我們還是先來看看它的語法格式吧:
NBTSTAT [ [-a RemoteName] [-A IP address] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [interval] ]
參數(shù)說明:
-a Remotename—說明使用遠程計算機的名稱列出其名稱表,此參數(shù)可以通過遠程計算機的NetBios名來查看他的當(dāng)前狀態(tài)。
-A IP address—說明使用遠程計算機的 IP 地址并列出名稱表,這個和-a不同的是就是這個只能使用IP,其實-a就包括了-A的功能了。
-c—列出遠程計算機的NetBIOS 名稱的緩存和每個名稱的 IP 地址 這個參數(shù)就是用來列出在你的NetBIOS里緩存的你連接過的計算機的IP。
-n—列出本地機的 NetBIOS 名稱,此參數(shù)與上面所介紹的一個工具軟件“netstat”中加“ -a”參數(shù)功能類似,只是這個是檢查本地的,如果把netstat -a后面的IP換為自己的就和nbtstat -n的效果是一樣的了。
-r—列出 Windows 網(wǎng)絡(luò)名稱解析的名稱解析統(tǒng)計。在配置使用 WINS 的 Windows 2000 計算機上,此選項返回要通過廣播或 WINS 來解析和注冊的名稱數(shù)。
-R—清除 NetBIOS 名稱緩存中的所有名稱后,重新裝入 Lmhosts 文件,這個參數(shù)就是清除nbtstat -c所能看見的緩存里的IP。
-S—在客戶端和服務(wù)器會話表中只顯示遠程計算機的IP地址。
-s—顯示客戶端和服務(wù)器會話,并將遠程計算機 IP 地址轉(zhuǎn)換成NETBIOS名稱。此參數(shù)和-S差不多,只是這個會把對方的NetBIOS名給解析出來。
-RR—釋放在 WINS 服務(wù)器上注冊的 NetBIOS 名稱,然后刷新它們的注冊。
interval—每隔interval 秒重新顯示所選的統(tǒng)計,直到按“CTRL+C”鍵停止重新顯示統(tǒng)計。如果省略該參數(shù),nbtstat 將打印一次當(dāng)前的配置信息。此參數(shù)和netstat的一樣,nbtstat中的“interval”參數(shù)是配合-s和-S一起使用的。
好了,關(guān)于nbtstat的應(yīng)用就不多講了,相信看了它的一些參數(shù)功能也就明白了它的功能了,只是要特別注意這個工具中的一些參數(shù)是區(qū)分大、小寫的,使用時要特別留心!另外在系統(tǒng)中還人置有許多這方面的工具,如ARP命令是用于顯示并修改Internet到以太網(wǎng)的地址轉(zhuǎn)換表;nslookup命令的功能是查詢一臺機器的IP地址和其對應(yīng)的域名,它通常需要一臺域名服務(wù)器來提供域名服務(wù),如果用戶已經(jīng)設(shè)置好域名服務(wù)器,就可以用這個命令查看不同主機的IP地址對應(yīng)的域名……在此就不多講了,另外還要說明的一點就是不同的系統(tǒng)中的相應(yīng)命令參數(shù)設(shè)置可能有不同之處,但大體功能是一致的,希望大家在應(yīng)用時稍加注意,本文所列的這些工具軟件參數(shù)用法全是針對Win9xWinMe,在NT和UNIX、LINUX系統(tǒng)中有一些不同之處。