摘要:文章介紹了一個運行在Windows下的網絡檢測軟件Windump,詳細描述了Windump的使用方法及參數,并通過實例介紹了Windump在網絡管理中的實際應用。
關鍵詞:網絡;TCP/IP;Windump
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)16-21214-02
A Way(or Analysis) to Detect the Network by Using Windump
PAN Zi-peng1,2
(1.The School of Electrical Engineering,Guangxi University,Nanning 530003,China;2.Guangxi University of Finance and Economics,Nanning 530003,China)
Abstract: This paper introduces the Windump,a network-detecting software,which are running on Windows. The paper analyzes the using ways and the parameters of the Windump in detail. And more,some examples about the Practical applications of the Windump in Windows are introduced vividly.
Key words:Network;TCP/IP;Windump
1 前言
Windump是一個開源的網絡協議分析軟件,可以進行各種協議的網絡數據包探測,捕捉網絡上兩臺電腦之間所有的數據包,供網絡管理員或者入侵分析員做網絡的流量分析和入侵檢測等。雖然說Windump可能對大家來說不太熟悉,但熟悉網絡管理的人員一定知道或者使用過Tcpdump,這是一個在Unix下運行的網絡檢測軟件。使用這些軟件的意義是什么呢?答案是檢測網絡中的數據,監視網絡中所有的流量和所有的數據。
在《TCP/IP詳解》卷一中,作者描述了使用Tcpdump捕捉的數據包來向讀者展示TCP/IP的一些工作過程;Tcpdump也被電腦安全專家下村勉作為重要工具來對付世界頭號黑客米特尼克,并在檢測過程中起了重要作用。可見Tcpdump是網絡管理、網絡檢測中使用的重要工具。
本文要介紹的Windump正是運行在Windows下的基于命令行的Tcpdump工具。該軟件是免費軟件,只能在命令行界面下使用,需要WinPcap驅動。
2 Windump的安裝
首先,下載Windump.exe軟件;然后下載winpcap.exe軟件包。因為Windump是單個可執行文件,無需特別安裝,將windump拷貝到C:\\ 即可(也可拷貝到你指定的位置)。
Winpcap需要安裝后才可使用,安裝過程比較簡單,雙擊后按照屏幕提示進行選擇即可順利安裝,安裝后重啟。
3 Windump的使用方法及參數
3.1 基本的使用方法
1)在開始菜單,運行子菜單中輸入cmd,回車后進入cmd命令行界面。
cd\\ 回車,切換到c盤的根目錄。
2)輸入指令windump -D (注意D要大寫),查詢網絡接口。
C:\\>windump -D
①\\Device\\NPF_GenericDialupAdapter (Adapter for generic dialup and VPN capture)
②\\Device\\NPF_{C8868355-8C13-40D2-A097-F9CF755EC812} (WAN (PPP/SLIP) Interface)
可以查看到本機撥號網絡適配器編號為2。
3)C:\\>windump –i 2
進入監聽狀態,監聽此網絡接口上所有類型的報文。
3.2 表達式的一般格式
如果不指定表達式,所有通過指定接口的數據包(packet)都輸出。如果想指定輸出滿足一定的條件的數據包才輸出,必須使用合法的表達式。
基本的表達式是這樣的:
[proto][dir][type][id]
Proto協議,可以是ether, fddi, tr, ip, ip6, arp, rarp, decnet, tcp , udp中任一個或它們的表達式組合,如果不指定,所有和后面的type一致的都考慮在內。
Dir數據包(packet)傳輸的方向,可以是src, dst中的任一個或它們的表達式組合。不指定的話,相當于src or dst 。
type指定后面的id是網絡地址、主機地址還是端口號,可以是host, net ,port中任一個,如果不指定,默認為host。
id就是希望監聽的網絡或主機或端口地址。
3.3 參數介紹
windump支持許多不同的參數,如上面使用-i參數指定Windump監聽的網絡接口,這在計算機具有多個網絡接口時比較有用,使用-c參數指定要監聽的數據包數量,使用-w參數指定將監聽到的數據包寫入文件中保存,等等。
Windump的參數通過運行windump -h可以看到:
C:\\>windump –h
windump version 3.9.5, based on tcpdump version 3.9.5
WinPcap version 4.0.1 (packet.dll version 4.0.0.901), based on libpcap version 0.9.5
Usage: windump [-aAdDeflLnNOpqRStuUvxX] [ -B size ] [-c count] [ -C file_size ]
[ -E algo:secret ] [ -F file ] [ -i interface ] [ -M secret ]
[ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ] [ -y datalinktype ] [ -Z user ]
[ expression ]
Windump的參數選項介紹
常用的參數:
-w write的縮寫,寫入文件,供后期分析。
-D 列出本機可用的網絡接口列表。
-i[n] interface的縮寫,選擇要監測的網絡接口。
host 指定要監測的主機,可以是域名或IP地址。
port 指定要監測的端口。
src/dst source/Destination的縮寫,該參數配合host和port參數一起使用,指定要監測的主機或端口為源/終點的數據包。
-s size的縮寫,指定抓取的每個數據包的大小,缺省是68,如果該值太小,可能會丟失數據。如果設置為0,則表示捕獲整個包。
4 Windump的應用實例
4.1 監聽目標IP地址為59.155.77.13的數據包
C:\\>windump -i 2 ip dst net 59.155.77.13
windump: listening on \\Device\\NPF_{C8868355-8C13-40D2-A097-F9CF755EC812}
15:02:27.836914 IP 221.174.16.12.80 > hello.1849: . 4218156942:4218158370(1428)
ack 2433050334 win 58548
監測訪問指定網站的數據包
C:\\>windump -i 2dsthostwww.163.com
當有訪問163網站的數據時,監聽到的數據輸出如下:
windump: listening on \\Device\\NPF_{C8868355-8C13-40D2-A097-F9CF755EC812}
14:45:00.514648 IP hello.1367 > 202.108.9.36.80: S 2848113333:2848113333(0) win
65535
14:45:00.583984 IP hello.1367 > 202.108.9.36.80: . ack 134364127 win 64080
14:45:00.599609 IP hello.1367 > 202.108.9.36.80: P 0:373(373) ack 1 win 64080
14:45:00.725585 IP hello.1367 > 202.108.9.36.80: . ack 2881 win 64080
14:45:00.817382 IP hello.1367 > 202.108.9.36.80: . ack 4321 win 64080
4.2 監聽所有發給本地139 udp端口的數據包
C:\\>windump -i 2 udp dst port 139
4.3 監聽所有源或目的主機的ether地址是aa:aa:aa:aa:aa:aa的數據包,并把信息寫入到文件pzp中
C:\\>windump.exe -i 2 -w pzpether hostaa:aa:aa:aa:aa:aa
5 結束語
本文介紹了在Windows下運行的免費、開源的網絡檢測軟件Windump,詳細描述了Windump的安裝過程、使用方法,并介紹了常用的一些參數;通過應用實例,介紹了Windump在網絡管理中的實際應用過程。
參考文獻:
[1] Mark A Miller.TCP/IP故障診斷與排除[M].3版.北京:中國水利水電出版社,2001.
[2] 彭文波.利用TCPDump檢測網絡數據[J].計算機安全,2006(7).