網絡封包抓取工具 winpcap

fmms 12年前發布 | 31K 次閱讀 抓包工具 網絡工具包

WinPcap是用于網絡封包抓取的一套工具,可適用于32位的操作平臺上解析網絡封包,包含了核心的封包過濾,一個底層動態鏈接庫,和一個高層系統函數庫,及可用來直接存取封包的應用程序界面。
Winpcap是一個免費公開的軟件系統。它用于windows系統下的直接的網絡編程。
大多數網絡應用程序訪問網絡是通過廣泛使用的套接字。這種方法很容易實現網絡數據傳輸,因為操作系統負責底層的細節(比如協議棧,數據流組裝等)以及提供了類似于文件讀寫的函數接口。
但是有時,簡單的方法是不夠的。因為一些應用程序需要一個底層環境去直接操縱網絡通信。因此需要一個不需要協議棧支持的原始的訪問網絡的方法。
winpcap適用于下面的開發者:
1、捕獲原始數據包。不管這個包是發往本地機,還是其他機器之間的交換包。
2、在數據包被發送到應用程序之前,通過用戶定義的規則過濾。
3、向網絡發送原始數據包。
4、對網絡通信量做出統計。
這些功能依賴于Win32系統內核中的設備驅動以及一些動態鏈接庫。
Winpcap提供了一個強大的編程接口,它很容易地在各個操作系統之間進行移植,也很方便程序員進行開發。
什么樣的程序需要使用Winpcap
很多不同的工具軟件使用Winpcap于網絡分析,故障排除,網絡安全監控等方面。Winpcap特別適用于下面這幾個經典領域:
1、網絡及協議分析
2、網絡監控
3、通信日志記錄
4、traffic generators
5、用戶級別的橋路和路由
6、網絡入侵檢測系統(NIDS)
7、網絡掃描
8、安全工具
Winpcap有些方面不能做。它不依靠主機的諸如TCP/IP協議去收發數據包。這意味著它不能阻塞,不能處理同一臺主機中各程序之間的通信數據。它只能“嗅探”到物理線路上的數據報。因此它不適用于traffic shapers,QoS調度,以及個人防火墻。
Winpcap內部結構
Winpcap是一個Win32平臺下用于抓包和分析的系統。包括一個內核級別的packet filter,一個底層的DLL(packet.dll)和一個高級的獨立于系統的DLL(Wpcap.dll)

1、 捕獲系統要能得到網絡上原始傳輸數據必須繞過協議棧。這就需要一個模快運行于操作系統內核,與網絡設備驅動接口直接打交道。這一部分極端依賴系統,也被認 為是一種設備驅動。現有版本有Windows 85,98,ME,NT 4,2000,Xp。這些驅動提供一些如數據包的捕獲與發送這些基本功能,還提供一些高級的可編程的過濾系統和監控引擎。過濾系統可以約束只捕獲特定的數 據包(比如,只捕獲特定主機發送的FTP報文)。監控引擎提供了一種強大但簡單的使用機制去獲得網絡通信的統計荷載數據。
2、捕獲系統要讓用戶程序使用內核提供的功能必須要有一個編程接口。Winpcap提供了兩個不同的庫:packet.dll 和wpcap.dll。
packet.dll提供一個底層的API,通過這個API可直接訪問網絡設備驅動,而獨立于Microsoft OS.
wpcap.dll是一個高層的強大捕獲程序庫,與Unix下的libpcap兼容。它獨立于下層的網絡硬件和操作系統。

項目主頁:http://www.baiduhome.net/lib/view/home/1325774137921

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!