libpcap使用入門

2021-04-09 07:09:32 字數 853 閱讀 8986

libpcap是unix/linux平台下的網路資料報捕獲函式包,大多數網路監控軟體都以它為基礎。

這個庫的位置在/usr/local/lib下.在 /usr/local/include下是他的標頭檔案pcap.h。要寫乙個使用libpcap庫函式的程式只需要在**中加上#i nclude ,然後在編譯時末尾加上-lpcap選項就可以了.

libpcap應用程式從形式上看很簡單,下面是乙個簡單的程式框架:

char * device; /* 用來捕獲資料報的網路介面的名稱 */

pcap_t * p; /* 捕獲資料報控制代碼,最重要的資料結構 */

struct bpf_program fcode; /* bpf 過濾**結構 */

/* 第一步:查詢可以捕獲資料報的裝置 */

device = pcap_lookupdev(errbuf);

/* 第二步:建立捕獲控制代碼,準備進行捕獲 */

p = pcap_open_live(device, 8000, 1, 500, errbuf);

/* 第三步:如果使用者設定了過濾條件,則編譯和安裝過濾** */

pcap_compile(p, &fcode, filter_string, 0, netmask);

pcap_setfilter(p, &fcode);

pcap_loop (p, 7, printer, null); /*

這裡的p就是我們剛剛生成的描述符;的第二個引數表示抓多少個包,設定為-1表示不定義數量,抓取所有的包;第三個引數是乙個**函式,每當抓到乙個資料報之後程式將自動呼叫這個函式;第四個引數是乙個指標,可以為空。 */

/*最後別忘了close*/

pcap_close (p);

libpcap使用入門例項

最近在學習抓包和分析各種協議頭,所以把心得總結一下。libpcap是乙個用於抓取網路資料報的庫,該庫功能強大,linux的抓包工具tcpdump就是以它為基礎開發的。libpcap的最小工作系統其實很簡單,大概思路如下 1,尋找第乙個可用的網路介面,pcap lookupdev errbuf 如果跳...

libpcap使用簡介

li bpcap是unix linux平台下的網路資料報捕獲函式包,大多數網路監控軟體都以它為基礎。這個庫的位置在 usr local lib下.在 usr local include下是他的標頭檔案pcap.h。要寫乙個使用libpcap庫函式的程式只需要在 中加上 i nclude 然後在編譯時...

Libpcap學習筆記

libpcap 由二十多個 c程式檔案組成,按功能大致分為以下幾個部分 1 開啟,讀取裝置,設定過濾部分 2 編譯 優化 除錯過濾部分 3 離線方式監聽部分 4 本地網路設定檢測部分 5 主控程式及版本部分 libpcap 資料報捕獲程式流程 1.獲取本地裝置資訊。通過函式 pcap lookupd...