Libpcap學習筆記

2021-04-15 07:56:37 字數 1173 閱讀 3871

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語言程式設...