Wireshark 学习笔记 1
Wireshark 功能模块 下图给出了wireshark 功能模块: a) GTK1/2 处理用户的输入输出显示,源码在gtk 目录
b) Core 核心模块,通过函数调用将其他模块连接在一起,源码在根目录 c) Epan wireshark Packetage Analyzing,包分析引擎,源码在epan 目录 Protocol-Tree:保存数据包的协议信息,wireshark 的协议结构采用树形结构,解析协议报文时只需要从根节点通过函数句柄依次调用各层解析函数即可
Dissectors:在epan/dissector 目录下,各种协议解码器,支持 700+种协议解析,对于每种协议,解码器都能识别出协议字段(field),并显示出字段值(field value)由于网络协议种类很多,为了使协议和协议间层次关系明显,对数据流里的各个层次的协议能够逐层处理,wireshark 系统采用了协议树的方式
Plugins:一些协议解码器以插件形式实现,源码在plugins 目录 Display-Filters:显示过滤引擎,源码在epan/dfilter 目录 d) Captu re 捕包引擎,利用libpcap/WinPcap 从底层抓取网络数据包,libpcap/WinPcap 提供了通用的抓包接口,能从不同类型的网络接口(包括以太网,令牌环网,ATM 网等)获取数据包
e) Wiretap 从文件中读取数据包,支持多种文件格式,源码在wiretap 目录 f) Win-/libpcap Wireshark 抓包时依赖的库文件 w ireshark 功能模块 3
w ireshark 流程分析 1 ) 初始化 Wireshark 的初始化包括一些全局变量的初始化、协议分析引擎的初始化和 Gtk 相关