wireshark二次開發

2021-07-08 14:40:01 字數 2410 閱讀 3109

最近公司在做乙個專案,要分析多個pcap檔案,需要呼叫wireshark來做分析,所以要熟悉wireshark原始碼,wireshark功能如此強大,源**看起來相當費力,為了盡快熟悉wireahrk,最好的辦法就是能除錯wireshark。接下來分別介紹(1).windows下如何編譯wireshark(2).wireshark原始碼中部分函式分析及使用

一.windows下如何編譯wireshark原始碼 1.

cygwin, 2.

python ,

本人使用

python26版本

3.wir

shark

從1.10

版本往下才會有

vs的工程檔案存在 4.

開啟wir

eshark

原始碼目錄,找到

config.nmake

,修改如下幾項: 1.

wireshark_libs,設定編譯

wireshark所需的庫所在的目錄,預設即可。 2.

program_files,設定本機程式安裝目錄,預設即可 3.

msvc_variant

,因為我使用

vs2008

編譯,所以這裡將值為

msvc2010

的那一行前的

#去掉,其餘

msvc_variant

項行首全部加上

#注釋掉 4.

.cygwin_path

,將其設定為

cygwin

的bin

目錄,例如

d:\source\cygwin\cygwin\cygwin\bin 5.

python

及其後的

path

,將其修改為本機

python.exe

和其安裝目錄的位置,例如

c:\python27\python.exe

。(也可採用預設) 6.

msvcr_dll,如果

vs安裝在d盤,請在這裡相應的地方用絕對路徑表示,而不要去修改前面的program_files,否則會出現意想不到的錯誤 例:

msvcr_dll=d:\softinstall\microsoftvisual studio 10.0\vc\redist\x64\microsoft.vc100.crt\*.* 5.

編譯wireshark 開啟

vs2010

的cmd

工具,找到

d:\softinstall\microsoft visual studio10.0\vc

\bin\

下的vcvars32.bat

,拖到cmd

裡的,再切換到

wireshark

原始碼目錄, 6.

依次輸入如下指令:

1.nma

ke -f makefile.nmake verify_tools

2.nmake -f makefile.nmake setup

c根目錄下

3.nmak

e -f makefile.nmake distclean

4.nmake -f makefile.nmake all

此命令可能會第一次出錯,再進行一次編譯就可以了

二.wireshark部分原始碼分析

1.編譯成功後,會在wireshark目錄下wireshark-gtk2目錄下產生一堆lib、dll,這些庫非常重要。下面的開發將會使用這些庫。這裡也可以進行除錯wireshark了,除錯看的會更容易明白wireshark是如何工作的了。

2.如何想將wireshark原始碼新增到vs中,方便單步除錯,這裡要說明一下,從wireshark1.10.9版本以前,才會有vs的工程檔案,此時需要自己建立乙個解決方案,將工程檔案新增到該解決方案中即可

3.靜態引用編譯成功產生的各lib,**如下:

這裡要說明的是,wireshark是需要glib庫的,要想載入wireshark庫首先要能正常載入glib庫,而glib庫為linux常用的c語言庫,需要先

移植到windows下,這個很容易,網上也是可以找到相關資源的,這裡不講述了

4.此時就可以進行wireshark二次開發了,先大概看明白wireshark,需要用到wireshark哪部分就載入哪部分,其實因為我們不需要介面部分,其實用到的還是tshark原始碼部分,像開啟pcap檔案、讀取pcap檔案,合併pcap檔案,解析pcap檔案,還有很多很多可以做,這些都比較容易的,這裡不再多說了

本人前段時間還將tshark原始碼成功移植到了android平台,實現了手機上抓包分析檔案,有時間分享給大家,這個目前市面上也是沒有的

postek二次開發 POSTEK二次開發介面

例項簡介 例項截圖 核心 using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.text using ...

mcms二次開發 YzmCMS二次開發手冊

摘要 yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有一.yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有乙個統一的入口...

mcms二次開發 YzmCMS二次開發手冊

yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有乙個統一的入口。一 基本目錄結構.根目錄 cache 快取目錄 必須可寫入 common 全站公共目錄 必須可寫入 uploads 預設上傳目錄 必須可寫入 yz...