如何使用wireshark分析mongodb协议,windows 源码编译 wireshark-3.4.7

项目需要解析mongodb协议,需分析协议格式,以便编码。

因mongodb中使用bson格式来表述一个文件,略复杂,仅通过mongodb协议标准并不能对该协议格式有一个直观且清晰的认识,而在wireshark中看到的mongodb 报文是被加密的。

故想要通过修改wireshark代码、重新编译wireshark,看到被tls/ssl加密前的mongodb报文,以便对mongodb协议格式有更多的了解,方便编码。

二、获取wireshark-mongodb

链接:https://pan.baidu.com/s/1DNSEOKG6xBL2w1BXMi8Qlg

提取码:ve70

运行wireshark-mongodb目录下的Wireshark.exe即可

效果如下:

三、修改wireshark代码

在wireshark-{version}\epan\dissectors\packet-mongodb.c中,将proto_reg_handoff_m

ongo函数里的ssl_dissector_add(TCP_PORT_MONGO, mongo_handle);注释掉即可

四、编译wireshark

1、编译环境准备

 (1) 准备

操作系统: Windows 10 专业版

Wireshark:  Wireshark-3.4.7

在C盘根目录下创建Development,将Wireshark-3.4.7源码放到Development目录下,修改文件夹名Wireshark-3.4.7为wireshark

 (2) 安装 Chocolatey

管理员身份运行cmd.exe

输入:@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

验证choco是否安装成功 

(3) 安装VS2022

下载地址:

https://c2rsetup.officeapps.live.com/c2r/downloadVS.aspx?sku=community&channel=Release&version=VS2022&source=VSLandingPage&cid=2030:6d37154b-8fa9-4a8d-979c-dcffc54413d8

选择“使用 C++ 进行桌面开发”,点击安装

(4) 安装perf

下载地址:

https://strawberryperl.com/download/5.32.1.1/strawberry-perl-5.32.1.1-64bit.msi

一路下一步即可

(5) 安装cmake

管理员身份运行cmd.exe

输入:  choco install -y cmake

 添加cmake环境变量

验证cmake是否安装成功

cmake --version

(6) 安装Asciidoctor

管理员身份运行cmd.exe

输入:choco install -y zulu  (安装Asciidoctor需要一java runtime)

输入 :choco install -y asciidoctorj

 验证 asciidoctor是否安装成功

 where asciidoctorj

(7) 安装Xsltproc

管理员身份运行 cmd.exe

输入 choco install -y xsltproc

验证 xsltproc是否安装成功

where xsltproc

(8) 安装 DocBook

管理员身份运行 cmd.exe

输入 choco install -y docbook-bundle

(9) 安装 winflexbison

管理员身份运行 cmd.exe

输入choco install -y winflexbison

(10) 安装qt

Qt下载页面https://iso.mirrors.ustc.edu.cn/qtproject/archive/qt/5.9/5.9.5/qt-opensource

-windows-x86-5.9.5.exe,选择Go open source,注册下载qt-opensource-windows-x86-5.14.1.exe

默认安装即可

2、编译wireshark

(1)、生成wireshark build files

打开vs2022,右键属性页>链接器>优化>链路时间代码生成>使用链接时间代码生成 (/LTCG)

       

打开Visual Studio Command Prompt

      

 设置环境变量

  set WIRESHARK_BASE_DIR=C:\Development

  set CMAKE_PREFIX_PATH=C:\Qt\5.15.2\msvc2019_64

  set PLATFORM=X64

  set WIRESHARK_VERSION_EXTRA=-MasterCom-x64

  

生成wireshark构建文件

cd 到 C:\Development\wireshark目录下

cmake -G "Visual Studio 17 2022" -A x64 ..\wireshark  

(2)、编译wireshark

msbuild /m /p:Configuration=RelWithDebInfo Wireshark.sln

3、测试

运行 C:\Development\wireshark\run\RelWithDebInfo\Wireshark.exe,打开一个mongodb pcap

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值