libpcap使用簡介

2021-04-12 19:32:29 字數 934 閱讀 9262

li

bpcap是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 庫函式 API 簡介

libpcap的英文意思是 packet capture library,即資料報捕獲函式庫。該庫提供的c函式介面可用於需要捕獲經過網路介面 只要經過該介面,目標位址不一定為本機 資料報的系統開發上。由 berkeley大學lawrence berkeley national laboratory研...

libpcap使用入門

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

libpcap使用入門例項

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