tshark调试记录

01  编译tshark

    从wireshark官方下载源代码进行编译,本博客使用稳定版本1.12.6。编译过程中可能要升级Glib库,而Glib库可能需要信赖PCRE。

    为了方便调试需要把编译器的优化功能关闭,同时不编译带GUI的wireshark,可以使用如下命令,统一关闭优化并在编译时加入调试信息。

./configure --enable-wireshark=no CFLAGS=-g3\ -O0 CXXFLAGS=-g3\ -O0

02  调试

    wireshark源代码根目录下的tshark是一个shell脚本,调用了./libs/tshark可执行程序,shell脚本在调用真正的tshark之前做了一些环境准备,主要是库路径的指定。简单一点可以直接安装所有编译后的二进制程序。

sudo make install
sudo ldconfig

    安装之后再来调试真正的tshark程序。

03  关键数据结构

    wireshark在解析完一条报文后返回一个树形结构,包含了报文各层协议的字段信息,遍历这个树的语义是:

    (1)给一颗树,先遍历first_child子树,后遍历next子树;

      (2) 递归步骤1

    edt->tree的孩子对应各层协议,每层协议的子树对应各层协议的字段

转载于:https://my.oschina.net/zhangtk/blog/478152

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值