1 / 12
文档名称:

Wireshark网络协议解析原理与新协议添加方法.doc

格式:doc   大小:20KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Wireshark网络协议解析原理与新协议添加方法.doc

上传人:好用文档 2017/10/25 文件大小:20 KB

下载得到文件列表

Wireshark网络协议解析原理与新协议添加方法.doc

相关文档

文档介绍

文档介绍:Wireshark网络协议解析原理与新协议添加方法
摘要:为了快速对自定义网络协议进行协议解析,对Wireshark网络协议解析原理与添加方法进行了深入的分析。在此基础上,对Wireshark添加自定义网络协议的解析器。由于有效地利用了Wireshark已有框架,该方式相对传统自行开发协议分析工具具有工作量少、功能强大与兼容性好的优点。
关键词:协议解析;WireShark; 网络分析
中图分类号::A文章编号:1672?7800(2011)012?0105?03


作者简介:吕雪峰(1978-),男,湖北恩施人,硕士,中国船舶重工集团公司第七二二研究所工程师,研究方向为计算机软件;张春芳(1980-),女,湖北武汉人,中国船舶重工集团公司第七二二研究所助理工程师,研究方向为软件测试。
0引言
work analyzer)是对通用协议的数据包进行解码,并以人可读的格式显示网络流量内容的软件或设备。由于网络协议种类繁多,各种新协议层出不穷,因此分析器必须具有良好的可扩展性,可方便地支持新的协议。

Wireshark是一款免费开源的协议分析器,是目前应用最广泛的网络协议分析软件之一。本文介绍了WireShark网络协议解析的原理与新协议添加的方法,并分析了向WireShark中添加新协议解析器的两种方法,并对自定义的网络协议给出添加步骤。
1Wireshark系统结构
WireShark的系统结构如图1所示,主要功能模块如下:①GTK 1/2:图形窗口工具,操控所有的用户输入/输出界面;②Core:将其它模块连接起来,起到综合调度的作用;③Epan:Wireshark协议解析器;④Capture:数据包捕获引擎,依赖于底层库WinPcap/libpcap库;⑤Wiretap:从磁盘读写数据包文件的引擎。
2数据包协议解析原理

基于OSI的7层协议模型,协议数据是从上到下封装后发送的,而对于协议解析需要从下至上进行。首先对网络层的协议识别后进行组包还原,然后脱去网络层协议头,将里面的数据交给传输层分析,这样一直进行下去,直到应用层。

由于网络协议种类很多,就Wireshark所识别的500多种协议来说,为使协议和协议间层次关系明晰,从而对数据流中各层次的协议能够逐层处理,Wireshark系统采用了协议树的方式,如图2中所示。图2中UDP协议的所有数据都是封装在IP协议中的,那么UDP协议就是IP协议的一个协议子节点,具有相同父节点的协议成为兄弟节点,如TCP与UDP节点。

图1Wireshark的系统结构图图2一个简单的协议树
Wireshark采用协议的特征字来识别拥有同样父协议的兄弟节点协议。每个协议注册自己的特征字,这些特征字给子节点协议提供可以互相区分开来的标识。在Wireshark中注册一个协议解析器首先需要指出它的父协议是什么,另外还需指出自己区别于父节点下所有兄弟节点协议的特征字。
由于采用了协议树加特征字的设计,Wireshark在协议解析上具备了很强的扩展性,增加一个协议只需要将该协议相关的解析函数挂到协议树上相应的节点即可。

向Wireshark添加新协议解析器有两种方式:内置型(built?in)和插件型(plugin)。
(plugin)
插件型是构建一个插件(如一个动态连接库),并把它自己注册到主程序中,执行解析工作。
插件技术,就是在程序的设计开发过程中,把整个应用程序分成宿主程序和插件两个部分,宿主程序与插件能够相互通信。并且,在宿主程序不变的情况下,可通过增减插件或修改插件来调整应用程序的功能。运用插件技术可以开发出伸缩性良好、便于维护的应用程序。
由于现在网络协议种类繁多,为了可以随时增加新的协议解析器,Wireshark也采用了插件技术。如果需要对一个新的协议进行解析,只需要开发这个协议解析器,并调用注册函数向主程序注册就可以了。
(built?in)
内置型是把一个协议解析器编译进主程序中,它将一直可用。
内置型与组件型的差异很小,只不过内置型的重构周期比组件型的长很多,同时没有插件型那么灵活。

3数据包解析器代码结构
新增加一个协议解析器的步骤一般分为注册协议,初始化解析器,实际解析处理3个步骤,下面以自定义协议演示如何增加一个协议解析器。插件型与内置型两种方式的代码结构基本相同,此处不做区别。自定义协议(FOO Protocol)格式如表1所示。
表1自定义协议格式
数据包类型标识序号IP地址该协议为UDP协议的子协议,端口为1234,其

最近更新

2024年项目开工仪式领导致辞 23页

2024年音乐专业自我鉴定范文 5页

2024年面试时怎样自我介绍 14页

2024年非常感动的爱情句子 37页

超星尔雅学习通《形势与政策(2024春)》章节.. 25页

食品安全法管理知识考试题库【历年真题】 28页

高等学校教师岗前培训考试暨教师资格笔试题库.. 22页

2024年霸气的跑步口号 8页

集团总经理在周年庆典上的致辞 10页

2024年零件加工合同(8篇) 31页

2024年“物业管理及公共服务”等知识考试题库.. 39页

2024年公务员考试《言语理解与表达》题库附答.. 174页

2024年《日常生活突发事故急救知识及处理方法.. 34页

2024年临床执业医师考试真题及参考答案(培优.. 29页

2024年事业单位招聘公共基础测验500题附参考答.. 167页

2024年公务员考试常识判断题200道含完整答案(.. 79页

2024年吉林工信厅直属事业单位公开招聘历年高.. 163页

2024年难忘的告别作文 6页

2024年高校教师岗前培训《高等教育学》题目10.. 24页

2024年陶行知教育名言(10篇) 49页

河南省高校教师岗前培训《高等教育学》题目10.. 23页

麻醉护理新技术新项目 26页

绘画心理学 2页

2021年歌颂祖国的三句半台词 8页

缓刑矫正人员思想汇报100篇 2页

机械设备投标书范本1 37页

少先队六知六会 1页

景观工程新材料在当代景观中的应用 6页

基于PLC电梯控制系统设计 35页

第180期 5页