qt 寫抓包程式

2021-08-19 07:17:12 字數 1622 閱讀 7104

winpcap v4.1.2:驅動程式、dll檔案

winpcap v4.1.2 developer』s pack:庫檔案、標頭檔案、簡單的示例程式**和幫助檔案

2.新建qt工程

新增開發工具包的標頭檔案和所需要的庫

includepath += "f:/winpcap/wpdpack_4_1_2/wpdpack/include"//標頭檔案路徑

//新增所需庫

win32: libs += -lf:/winpcap/wpdpack_4_1_2/wpdpack/lib/ -lpacket

includepath += f:/winpcap/wpdpack_4_1_2/wpdpack/lib

dependpath += f:/winpcap/wpdpack_4_1_2/wpdpack/lib

win32: libs += -lf:/winpcap/wpdpack_4_1_2/wpdpack/lib/ -lwpcap

includepath += f:/winpcap/wpdpack_4_1_2/wpdpack/lib

dependpath += f:/winpcap/wpdpack_4_1_2/wpdpack/lib

筆者的是這樣,但是需要根據自己電腦情況改下。

3.在其他地方能找到很多相關的例子

我就只說一下我遇到的困難,希望能給各位一點幫助。

我利用了執行緒的方式新開了乙個執行緒去進行抓包,並獲取內容。

void

packet_handler(u_char

*param,const

struct

pcap_pkthdr

*header,

const

u_char

*pkt_data);

pkt_data這就是資料報的內容
我想要在新的執行緒中去ui(ui在主線程之中)。

這時需要用到訊號槽機制,去更新ui介面

需要將

void

packet_handler(u_char

*param,const

struct

pcap_pkthdr

*header,

const

u_char

*pkt_data);

函式放在自己定義的執行緒的類中,並給它設為靜態變數。向下面這樣

//靜態函式

pcap_loop

為外部函式;

static

void

packet_handler(u_char

*param,const

struct

pcap_pkthdr

*header,

const

u_char

*pkt_data);

然後呼叫函式應該這樣寫

pcap_loop(adhandle_s,

0,sharkthread::packet_handler_,null);

這樣就能夠實現packet_hander函式呼叫類中訊號了。

由於packet_hander是靜態函式,還需要檢視  這個例子去完成更新介面的操作。

應用抓包之Fiddler抓包

tcpdump抓包 應用抓包之tcpdump命令抓包 原料fiddler fiddler是位於客戶端和伺服器端的http 也是目前最常用的http抓包工具之一 它能夠記錄客戶端和伺服器之間的所有 http請求,可以針對特定的http請求,分析請求資料 設定斷點 除錯web應用 修改請求的資料,甚至可...

什麼是 抓包 怎樣 抓包

你是網路管理員嗎?你是不是有過這樣的經歷 在某一天的早上你突然發現網路效能急劇下降,網路服務不能正常提供,伺服器訪問速度極慢甚至不能訪問,網路交換機埠指示燈瘋狂地閃爍 網路出口處的路由器已經處於滿負荷的工作狀態 路由器cpu已經到了百分之百的負荷 重啟動後沒有幾分鐘現象又重新出現了。這是什麼問題?裝...

fiddler抓包手機和小程式

把fiddler根證書儲存到桌面 使用openssl獲取根證書hash值 openssl x509 inform der subject hash old in fiddlerroot.cer noout 返回 8bbe0e8d重新命名證書 openssl x509 inform der in fi...