捕獲網絡數據包並進行分析的開源庫-WinPcap


什么是WinPcap

WinPcap是一個基於Win32平台的,用於捕獲網絡數據包並進行分析的開源庫.

大多數網絡應用程序通過被廣泛使用的操作系統元件來訪問網絡,比如sockets。  這是一種簡單的實現方式,因為操作系統 已經妥善處理了底層具體實現細節(比如協議處理,封裝數據包等等),並且提供了一個與讀寫文件類似的,令人熟悉的接口。

然而,有些時候,這種“簡單的方式”並不能滿足任務的需求,因為有些應用程序需要直接訪問網 絡中的數據包。也就是說,那些應用程序需要訪問原始數據包,即沒有被操作系統利用網絡協議處理過的數據包。

WinPcap產生的目的,就是為Win32應用程序提供這種訪問方式; WinPcap提供了以下功能

  • 捕獲原始數據包,無論它是發往某台機器的,還是在其他設備(共享媒介)上進行交換的
  • 在數據包發送給某應用程序前,根據用戶指定的規則過濾數據包
  • 將原始數據包通過網絡發送出去
  • 收集並統計網絡流量信息

以上這些功能需要借助安裝在Win32內核中的網絡設備驅動程序才能實現,再加上幾個動態鏈接庫DLL。

所有這些功能都能通過一個強大的編程接口來表現出來,易於開發,並能在不同的操作系統上使用。 這本手冊的主要目標是在一些程序范例的幫助下,敘述這些編程接口的使用。   如果您現在就想開始摸索這些功能,您可以直接進入 WinPcap用戶手冊.

哪些程序在使用WinPcap

WinPcap可以被用來制作許多類型的網絡工具,比如具有分析,解決紛爭,安全和監視功能的工具。特別地,一些基於WinPcap的典型應用有:

  • 網絡與協議分析器 (network and protocol analyzers)
  • 網絡監視器 (network monitors)
  • 網絡流量記錄器 (traffic loggers)
  • 網絡流量發生器 (traffic generators)
  • 用戶級網橋及路由 (user-level bridges and routers)
  • 網絡入侵檢測系統 (network intrusion detection systems (NIDS))
  • 網絡掃描器 (network scanners)
  • 安全工具 (security tools)

什么是WinPcap做不到的

WinPcap能 獨立地 通過主機協議發送和接受數據,如同TCP-IP。 這就意味着WinPcap不能阻止、過濾或操縱同一機器上的其他應用程序的通訊: 它僅僅能簡單地"監視"在網絡上傳輸的數據包。所以,它不能提供類似網絡流量控制、服務質量調度和個人防火牆之類的支持。

官網:http://www.winpcap.org/

官網中文文檔:http://www.ferrisxu.com/WinPcap/html/index.html

開發包(開發所需類庫):http://www.winpcap.org/devel.htm 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM