libpcap
由二十多個
c程式檔案組成,按功能大致分為以下幾個部分:
1)開啟,讀取裝置,設定過濾部分
2)編譯、優化、除錯過濾部分
3)離線方式監聽部分
4)本地網路設定檢測部分
5)主控程式及版本部分
libpcap
資料報捕獲程式流程: 1.
獲取本地裝置資訊。
通過函式
pcap_lookupdev
尋找系統中可用的網路介面裝置,返回乙個表示網路介面卡的字串。
2.開啟裝置開始監聽會話
通過函式
pcap_open_live()
建立監聽會話。
pcap_t *pcap_open_live(char *device,int snaplen,int promisc,int to_ms,char *ebuf)
其中:device
為上一步中所提到的網路介面卡的字串,
snaplen
定義監聽程式所捕獲的最大位元組數,
promisc
定義是否將網路介面卡設定為混雜模式。
to_ms
定義讀操作的時間。
ebuf
函式呼叫失敗時返回錯誤資訊字串。
3.設定過濾條件
編輯過濾字串,設定過濾器,制定要捕獲的主機、協議等,可以有效的捕獲指定型別的資料。
通過函式
pcap_compile
將過濾字串編譯為二進位制。常用的過濾字串有「
host 210.40.
7.129」
表示捕獲主機
210.40.7.129
收發的資料幀,「
tcp」
表示捕獲協議型別為
tcp的資料幀,「
port 20
」表示捕獲目的或源埠是
20的資料幀等等,很多過濾字串還能進行組合。
由pcap_setfilter()
函式進行核心過濾器的設定生效。 4.
執行捕獲迴圈
每捕獲乙個資料報後就呼叫使用者的**函式對資料報進行處理,以上功能可通過呼叫以下兩個函式實現
pcap_dispatch,pcap_loop,
它們的功能基本相同,唯一的差別在於
pcap_loop
在讀取超時時不會返回。
libpcap使用簡介
li bpcap是unix linux平台下的網路資料報捕獲函式包,大多數網路監控軟體都以它為基礎。這個庫的位置在 usr local lib下.在 usr local include下是他的標頭檔案pcap.h。要寫乙個使用libpcap庫函式的程式只需要在 中加上 i nclude 然後在編譯時...
libpcap使用入門
libpcap是unix linux平台下的網路資料報捕獲函式包,大多數網路監控軟體都以它為基礎。這個庫的位置在 usr local lib下.在 usr local include下是他的標頭檔案pcap.h。要寫乙個使用libpcap庫函式的程式只需要在 中加上 i nclude 然後在編譯時末...
libpcap程式設計(1)
在使用之前需要安裝相應的庫檔案 sudo apt get install libpcap dev libpcap是訪問作業系統提供的分組捕獲機制的分組捕獲函式庫,與實現無關,unix網路程式設計 卷一 進行了簡單的介紹,為了深入libpcap程式設計,這裡準備由淺入深進行學習。一方面工具c語言程式設...