標籤:microsoft 應用程式 網路應用 資料包 作業系統
WinPcap是一個基於Win32平台的,用於捕獲網路資料包並進行分析的開源庫.
大多數網路應用程式通過被廣泛使用的作業系統元件來訪問網路,比如sockets。 這是一種簡單的實現方式,因為作業系統已經妥善處理了底層具體實現細節(比如協議處理,封裝資料包等等),並且提供了一個與讀寫檔案類似的,令人熟悉的介面。
然而,有些時候,這種“簡單的方式”並不能滿足任務的需求,因為有些應用程式需要直接存取網路中的資料包。也就是說,那些應用程式需要訪問未經處理資料包,即沒有被作業系統利用網路通訊協定處理過的資料包。
WinPcap產生的目的,就是為Win32應用程式提供這種訪問方式; WinPcap提供了以下功能
以上這些功能需要藉助安裝在Win32核心中的網路裝置驅動程式才能實現,再加上幾個動態連結程式庫DLL。
所有這些功能都能通過一個強大的編程介面來表現出來,易於開發,並能在不同的作業系統上使用。這本手冊的主要目標是在一些程式範例的協助下,敘述這些編程介面的使用。
通常,編寫基於WinPcap應用程式的第一件事情,就是獲得已串連的網路介面卡列表。libpcap和WinPcap都提供了 pcap_findalldevs_ex() 函數來實現這個功能: 這個函數返回一個 pcap_if 結構的鏈表, 每個這樣的結構都包含了一個適配器的詳細資料。值得注意的是,資料域 name 和 description 表示一個適配器名稱和一個可以讓人們理解的描述。
首先配置Microsoft Visual Studio 10.0
項目-->**屬性(alt+F7)
配置屬性-->清單工具-->輸入和輸出-->嵌入清單-->否
項目-->**屬性(alt+F7)
配置屬性-->C/C++-->常規-->附加元件封裝含目錄-->
項目-->**屬性(alt+F7)
配置屬性-->連結器-->常規-->附加庫目錄-->
項目-->**屬性(alt+F7)
配置屬性-->連結器-->輸入-->附加依賴項-->補充“;Packet.lib;wpcap.lib”
項目-->**屬性(alt+F7)
配置屬性-->C/C++-->前置處理器-->前置處理器定義-->補充“;HAVE_REMOTE
本文出自 “12035217” 部落格,請務必保留此出處http://12045217.blog.51cto.com/12035217/1865452
Microsoft Visual Studio 10.0執行WinPcap擷取網路設配器的代碼