用lua语言编写wireshark插件解析自定义协议

用lua语言编写wireshark插件解析自定义协议

ID:32735970

大小:202.08 KB

页数:9页

时间:2019-02-15

用lua语言编写wireshark插件解析自定义协议_第1页
用lua语言编写wireshark插件解析自定义协议_第2页
用lua语言编写wireshark插件解析自定义协议_第3页
用lua语言编写wireshark插件解析自定义协议_第4页
用lua语言编写wireshark插件解析自定义协议_第5页
资源描述:

《用lua语言编写wireshark插件解析自定义协议》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、用lua语言编写Wireshark插件解析自定义协议(yOOl115922012-01)Wireshark默认支持大量网络协议,我们川以在Wireshark主菜单“Internals>S叩podProtocols(slow!)"杳看当前支持的所有协议。Wireshark1.6.2版木已支持117()种协议,包括我们熟悉的Diameter、GTP、FTP、SCTP等协议。上述都是业界的通用协议,然而対我们产品的口定义协议,Wireshark是不得而知的,抓包后只能看到一串二进制码流,导致开发调试或者测试分析效率较低。有什么办法让Wireshark也能解析自定义协议呢?本文介绍

2、的川lua编写Wireshark解析器插件就是一种常用方法。Wireshark软件内嵌一个lua语言执行引擎并提供一系列lua函数接口,从而满足用户各种各样的协议解析目的。下面以一个简单的口定义协议为例,演示如何编写Wireshark解析插件。不过本文只是业余学习的笔记和简单实践,不能覆盖“lua编写Wireshark解析器插件”的所冇知识点(更全面的介绍请参考Wireshark软件自带手册第11章“LuaSupportinWireshark”,只是开源软件的手册似乎总是不够详尽。)。1.配置Wireshark执行lua脚本通过Wireshark主菜单"Help>About

3、WiresharknnJ'以查看当前安装版本己经内缺Lua5.1执行引擎。默认安装情况卜Wireshark会在安装路径下生成一个init.lua,它是Wireshark启动过程执行的第一个lua脚本。一•般來说,我们可以在此文件中添加dofile函数调用其他lua•阴1迹匚失地勺赴巴展旦®」列处「站0、兰装叵1呼」巴史述屋肖二^:dofile(DATA_DIR.."console.luaH)此语句执行了安装冃录下的console.lua脚本,该脚本也是Wireshark自带的,川途是在主菜单Tool下创建一个子菜单Luao我们羡至可以在上述语句之前添加注释-符來取消它。do

4、file是lua基础库提供的一个函数,用途如卜•:;dofile(filename):OpensthenamedfileandexecutesitscontentsasaLuachunk.Whencalledwithoutarguments,:dofileexecutesthecontentsofthestandardinput(stdin).Returnsallvaluesreturnedbythechunk.:Incaseoferrors,dofilepropagatestheerrortoitscaller(thatis,dofiledoesnotruninprote

5、cted:mode).……義彳亍F亲鏑号甬誦崭菽五亘GHua厨禾呢交祈石「荻后否嚅匚皿文祚亲丿2币漏川二不…dofile调用即口J。2.需要解析的自定义协议假设我们需要基于UDP协议实现一种根据员工ID杳询员工姓名的信息服务,客户端向服务器端的12345端口发送QueryRequest,服务器返冋应答QueryResponse,数据结构如下:消息名称消息结构QueryRequestUintl6usMsgType;〃消息类型,查询请求二0Uint32uiEmployeelD;〃员工工号QucryRcsponscUintl6usMsgType;〃消息类型,查询应答=1Uint3

6、2uiEmployeelD;〃员工工号Uintl6usQueryResult;//查询操作结果,成功=0,失败=1CharL32JszEmployeeName;//查询结果,如果成功,填写员工姓名;否则填写失败原因假设员工数据库信息有两条记录如下:员工ID员工姓名1LiuDehua2ZhangXueyou将上述协议实现之后,服务器端部署在192.168.56.1,客户端在192.168.56.22o以下就是启动1次査询过程的Wireshark抓包结果:♦Frame3:48bytesonwire(384bits),48bytescaptured(384bits)令Ethern

7、etII,Src:08:00:27:f8:35:22(08:00:27:f8:35:22),Dst:08:00:27:00:14:3c(08:00:27:00:14:3cSinternetProtocolVersion4,Src:192.168.56.22(192.168.56.22),Dst:192.168.56.1(192.168.56.1)±userDatagramProtocol,SrcPort:23456(23456),DstPort:12345(12345)Data(6bytes)Data:000001

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。