系統內置的網絡測試工具ping 1.Ping命令的語法格式 ping命令看似小小的一個工具,但它帶有許多參數,要完全掌握它的使用方法還真不容易,要達到熟練使用則更是難下加難,但不管怎樣我們還得來看看它的真面目,首先我們還是從最基本的命令格式入手吧! 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 從這個命令式中可以看出它的復雜程度,ping命令本身后面都是它的執行參數,現對其參數作一下詳細講解吧! -t—— 有這個參數時,當你ping一個主機時系統就不停的運行ping這個命令,直到你按下Control-C。 -a——解析主機的NETBIOS主機名,如果你想知道你所ping的要機計算機名則要加上這個參數了,一般是在運用ping命令后的第一行就顯示出來。 -n count——定義用來測試所發出的測試包的個數,缺省值為4。通過這個命令可以自己定義發送的個數,對衡量網絡速度很有幫助,比如我想測試發送20個數據包的返回的平均時間為多少,最快時間為多少,最慢時間為多少就可以通過執行帶有這個參數的命令獲知。 -l length——定義所發送緩沖區的數據包的大小,在默認的情況下windows的ping發送的數據包大小為32byt,也可以自己定義,但有一個限制,就是最大只能發送65500byt,超過這個數時,對方就很有可能因接收的數據包太大而死機,所以微軟公司為了解決這一安全漏洞于是限制了ping的數據包大小。 -f—— 在數據包中發送“不要分段”標志,一般你所發送的數據包都會通過路由分段再發送給對方,加上此參數以后路由就不會再分段處理。 -i ttl—— 指定TTL值在對方的系統里停留的時間,此參數同樣是幫助你檢查網絡運轉情況的。 -v tos—— 將“服務類型”字段設置為 “tos” 指定的值。 -r count—— 在“記錄路由”字段中記錄傳出和返回數據包的路由。一般情況下你發送的數據包是通過一個個路由才到達對方的,但到底是經過了哪些路由呢?通過此參數就可以設定你想探測經過的路由的個數,不過限制在了9個,也就是說你只能跟蹤到9個路由。 -s count——指定“count” 指定的躍點數的時間戳,此參數和-r差不多,只是這個參數不記錄數據包返回所經過的路由,最多也只記錄4個。 -j host-list ——利用“ computer-list” 指定的計算機列表路由數據包。連續計算機可以被中間網關分隔IP 允許的最大數量為 9。 -k host-list ——利用 “computer-list” 指定的計算機列表路由數據包。連續計算機不能被中間網關分隔IP 允許的最大數量為 9。 -w timeout——指定超時間隔,單位為毫秒。 destination-list ——是指要測試的主機名或IP地址 -t參數 -t—— 有這個參數時,當你ping一個主機時系統就不停的運行ping這個命令,直到你按下Control-C。 例如: C:\WINDOWS>ping 192.168.1.188 -t Pinging 192.168.1.188 with 32 bytes of data: Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64
Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Ping statistics for 192.168.1.188: Packets: Sent = 8, Received = 8, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms Control-C -a參數 -a——解析主機的NETBIOS主機名,如果你想知道你所ping的要機計算機名則要加上這個參數了,一般是在運用ping命令后的第一行就顯示出來。 例如: C:\WINDOWS>ping -a 192.168.1.100 Pinging 000 [192.168.1.100] with 32 bytes of data: Reply from 192.168.1.100: bytes=32 time<10ms TTL=128 Reply from 192.168.1.100: bytes=32 time<10ms TTL=128 Reply from 192.168.1.100: bytes=32 time<10ms TTL=128 Reply from 192.168.1.100: bytes=32 time<10ms TTL=128 Ping statistics for 192.168.1.100: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms 可以得知: ip 為192.168.1.100的計算機,NETBIOS名為000 再如: C:\WINDOWS>ping -a 192.168.0.23 Pinging 9.localdomain [192.168.0.23] with 32 bytes of data: Reply from 192.168.0.23: bytes=32 time<10ms TTL=128 Reply from 192.168.0.23: bytes=32 time<10ms TTL=128 Reply from 192.168.0.23: bytes=32 time<10ms TTL=128 Reply from 192.168.0.23: bytes=32 time<10ms TTL=128 Ping statistics for 192.168.0.23: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms 可以得知: ip 為192.168.0.23的計算機,NETBIOS名為9 -n參數 -n count——定義用來測試所發出的測試包的個數,缺省值為4。通過這個命令可以自己定義發送的個數,對衡量網絡速度很有幫助,比如我想測試發送20個數據包的返回的平均時間為多少,最快時間為多少,最慢時間為多少就可以通過執行帶有這個參數的命令獲知。
例如: C:\WINDOWS>ping -n 10 192.168.1.188 Pinging 192.168.1.188 with 32 bytes of data: Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Reply from 192.168.1.188: bytes=32 time<10ms TTL=64 Ping statistics for 192.168.1.188: Packets: Sent = 10, Received = 10, Lost = 0 (0% loss) Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms 向IP為192.168.1.188的計算機,發送10個數據包,發送10個,返回10個,沒有丟包。 -l參數 -l length——定義所發送緩沖區的數據包的大小,在默認的情況下windows的ping發送的數據包大小為32byt,也可以自己定義,但有一個限制,就是最大只能發送65500byt,超過這個數時,對方就很有可能因接收的數據包太大而死機,所以微軟公司為了解決這一安全漏洞于是限制了ping的數據包大小。 例如: C:\WINDOWS>ping -l 32768 -n 10 192.168.1.188 Pinging 192.168.1.188 with 32768 bytes of data: Request timed out. Reply from 192.168.1.188: bytes=32768 time=12ms TTL=64 Reply from 192.168.1.188: bytes=32768 time=12ms TTL=64 Reply from 192.168.1.188: bytes=32768 time=12ms TTL=64 Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64 Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64 Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64 Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64 Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64
Reply from 192.168.1.188: bytes=32768 time=9ms TTL=64 Ping statistics for 192.168.1.188: Packets: Sent = 10, Received = 9, Lost = 1 (10% loss), Approximate round trip times in milli-seconds: Minimum = 9ms, Maximum = 12ms, Average = 9ms 向IP為192.168.1.188的計算機,發送大小為32768byt的數據包10個,發送10個,返回9個,丟失1個。返回數據包最短時間為9ms,最長時間為12ms。 2.Ping命令的應用 (1)、測試網絡的通暢 我們知道可以用ping命令來測試一下網絡是否通暢,這在局域網的維護中經常用到,方法很簡單,只需要在DOS或Windows的開始菜單下的“運行”子項中用ping命令加上所要測試的目標計算機的IP地址或主機名即可(目標計算機要與你所運行ping命令的計算機在同一網絡或通過電話線或其它專線方式已連接成一個網絡),其它參數可全不加。如要測試臺IP地址為196.168.0.23的工作站與服務器是否已連網成功,就可以在服務器上運行:ping -a 196.168.0.23 即可,如果工作站上TCP/IP協議工作正常,即會以DOS屏幕方式顯示如下所示的信息: C:\WINDOWS>ping -a 192.168.0.23 Pinging 9.localdomain [192.168.0.23] with 32 bytes of data: Reply from 192.168.0.23: bytes=32 time<10ms TTL=128 Reply from 192.168.0.23: bytes=32 time<10ms TTL=128 Reply from 192.168.0.23: bytes=32 time<10ms TTL=128 Reply from 192.168.0.23: bytes=32 time<10ms TTL=128 Ping statistics for 192.168.0.23: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms 從上面我們就可以看出目標計算機與服務器連接成功,TCP/IP協議工作正常,因為加了“-a”這個參數所以還可以知道IP為196.168.0.23的計算機的NetBIOS名為9。 下面我們來PING IP為192.168.0.1的計算機,如果網絡未連成功則顯示如下錯誤信息: C:\WINDOWS>ping 192.168.0.1 Pinging 192.168.0.1 with 32 bytes of data: Request timed out. Request timed out. Request timed out. Request timed out. Ping statistics for 192.168.0.1: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms 為什么不管網絡是否連通在提示信息中都會有重復四次一樣的信息呢(如上的“Reply from 192.168.1.188: bytes=32768 time=12ms TTL=64”和“Request timed out”),那是因為一般系統默認每次用ping測試時是發送四個數據包,這些提示就是告訴你所發送的四個數據包的發送情況。
(2)、獲取計算機的IP地址 利用ping這個工具我們可以獲取對方計算機的IP地址,特別是在局域網中,我們經常是利用NT或WIN2K的DHCP動態IP地址服務自動為各工作站分配動態IP地址,這時當然我們要知道所要測試的計算機的NETBIOS名,也即我們通常在“網絡鄰居”中看到的“計算機名”。使用ping命令時我們只要用ping命令加上目標計算機名即可,如果網絡連接正常,則會顯示所ping的這臺機的動態IP地址。其實我們完全可以在互聯網使用,以獲取對方的動態IP地址,這一點對于黑客來說是比較有用的,當然首先的一點就是你先要知道對方的計算機名。 例如: C:\WINDOWS>ping www.llb168.com Pinging www.ahuing.com [218.26.153.214] with 32 bytes of data: Request timed out. Request timed out. Request timed out. Request timed out. Ping statistics for 218.26.153.214: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms ping www.llb168.com,得到www.llb168.com的計算機,IP為218.26.153.214。 ping命令的其他技巧:在一般情況下還可以通過ping對方讓對方返回給你的TTL值大小,粗略的判斷目標主機的系統類型是Windows系列還是UNIX/Linux系列,一般情況下Windows系列的系統返回的TTL值在100-130之間,而UNIX/Linux系列的系統返回的TTL值在240-255之間,當然TTL的值在對方的主機里是可以修改的,Windows系列的系統可以通過修改注冊表以下鍵值實現。
編輯:北京信誠IT保姆IT外包部 http:// www.aboverow.cn www.xcit.com.cn
|