libpcap抓包的千層套路

2021-10-04 21:22:00 字數 2582 閱讀 7298

關於測試**

執行一行就行

sudo apt install libpcap-dev
輸入密碼,選擇yes,倒一杯紅tea的時間就下完了

因為這回是做實驗,所以先貼一下需求

winpcapt或libpcap程式設計過程,編寫程式捕獲實驗一的資料報。

還原四元組(源目的ip源目的埠),和檔案內容,寫到乙個檔案裡(預設檔案)

如果需要也可輸出到特定檔案(通過配置檔案或命令列引數決定,螢幕也是特定檔案之一)

#include 

#include

#include

#include

void

getpacket

(u_char * arg,

const struct pcap_pkthdr * pkthdr,

const u_char * packet)

printf

("id: %d\n",++

(*id));

printf

("packet length: %d\n"

, pkthdr-

>len)

;printf

("number of bytes: %d\n"

, pkthdr-

>caplen)

;printf

("recieved time: %s"

,ctime((

const time_t *

)&pkthdr-

>ts.tv_sec));

int i;

printf()

;fputs

(,fp)

;for

(i=26

; i<30;

++i)

printf

("\n");

fputs

("\n"

,fp)

;printf()

;fputs

(,fp)

;for

(i=30

; i<34;

++i)

printf

("\n源埠號:%d%d\n"

,packet[34]

,packet[35]

);fprintf

(fp,

"\n源埠號:%d%d\n"

,packet[34]

,packet[35]

);printf

("目的埠號:%d%d\n"

,packet[36]

,packet[37]

);fprintf

(fp,

"目的埠號:%d%d\n"

,packet[36]

,packet[37]

);printf

("\n");

for(i=

53; i

>len;

++i)

printf

("\n");

fputs

("\n"

,fp)

;fclose

(fp);}

intmain()

else

/* open a device, wait until a packet arrives */

pcap_t * device =

pcap_open_live

(devstr,

65535,1

,0, errbuf);if

(!device)

/* construct a filter */

struct bpf_program filter;

pcap_compile

(device,

&filter,

"tcp",1

,0);

pcap_setfilter

(device,

&filter)

;/* wait loop forever */

int id =0;

pcap_loop

(device,

5, getpacket,

(u_char*

)&id)

;pcap_close

(device)

;return0;

}

執行這個真的是……起落落落落落

如果你按平時的方法編譯,它就會給你彈出一堆未定義的引用

所以要先鏈結函式庫,**如下

gcc text.c -o test -lpcap
然後就可以快樂的執行了

sudo .

/text

如果不用root身份會彈出乙個莫名其妙的錯誤但是我忘記截圖了……

就這樣吧。

不信比來長下淚,開箱驗取石榴裙。

libpcap抓包簡單例子

include include include include include void tcp packet callback unsigned char argument,const struct pcap pkthdr pcap header,const unsigned char packe...

基於Libpcap實現的區域網嗅探抓包發包解析工具

第一章 需求分析 1.1 設計目的 1.1.1 基本要求 完成乙個基於libpcap的網路資料報解析軟體,具有易用 美觀的介面。1.1.2 具體要求 能夠解析本地或區域網的資料報,例如tcp包,udp包,工cmp包等,能分析報頭以及資料報內容 能分析資料報的版本 頭長度 服務型別 資料報總長度 資料...

基於Libpcap實現的區域網嗅探抓包發包解析工具

第一章 需求分析 1.1 設計目的 1.1.1 基本要求 完成乙個基於libpcap的網路資料報解析軟體,具有易用 美觀的介面。1.1.2 具體要求 能夠解析本地或區域網的資料報,例如tcp包,udp包,工cmp包等,能分析報頭以及資料報內容 能分析資料報的版本 頭長度 服務型別 資料報總長度 資料...