Dissector
插件可以用来对特定的协议内容进行分析展示,在分析自己实现的应用层协议时还是很有用的。
dissector
插件一般用
C
来实现,具体如何实现可以参考
Wireshark
代码目录下面的
\epan\dissectors
中的源代码和
plugins
目录下面的源代码。
一些简单的对性能要求不高的
dissector
插件也可以使用
Lua
来实现。
Wireshark
已经嵌入了对
Lua
的支持。
下面就是一个简单的例子:
-- 定义协议,可以在wireshark中使用trivial过滤
trivial_proto = Proto("trivial","TRIVIAL","Trivial Protocol")
-- dissector函数
function trivial_proto.dissector(buffer,pinfo,tree)
--pinfo的成员可以参考用户手册
pinfo.cols.protocol = "TRIVIAL"
pinfo.cols.info = "TRIVIAL data"
local subtree = tree:add(trivial_proto,buffer(),"Trivial Protocol")
--不对应任何数据
subtree:add(buffer(0,0),"Message Header: ")
--版本号对应于第一个字节
subtree:add(buffer(0,1),"Version: " .. buffer(0,1):uint())
--类型对应于第二个字节
type = buffer(1,1):uint()
type_str = "Unknown"
if type == 1 then
type_str = "REQUEST"
elseif type == 2 then
type_str = "RESPONSE"
end
subtree:add(buffer(1,1), "Type: " .. type_str)
--从第三个字节开始是数据
size = buffer:len()
subtree:add(buffer(2,size-2), "Data: ")
end
tcp_table = DissectorTable.get("tcp.port")
--注册到tcp的8888端口
tcp_table:add(8888,trivial_proto)
插件编写完成后保持为
test.lua
文件,我们就可以抓包测试一下了。
首先请确认你的
Wireshark
支持
lua
,如果
Wireshark
目录下面有
init.lua
文件就说明支持
Lua
。其次需要启动对
Lua
的支持,默认不启动对
Lua
的支持。编辑
init.lua
文件,注释掉“
disable_lua = true;
”这一行,然后在文件的最后添加一行
dofile("test.lua")
,这样
Wireshark
启动时就会自动调用
test.lua
。也可以在命令行指定需要执行的脚本文件,
比如“
wireshark
-X lua_script:test.lua
”。
分享到:
相关推荐
### 使用Lua编写Wireshark Dissector #### 引言 Wireshark是一款广泛使用的网络协议分析工具,能够捕获和解析各种类型的网络流量。对于高级用户而言,Wireshark提供了强大的扩展功能,允许用户通过自定义插件来解码...
在这个压缩包文件中,包含了一个使用Lua编写的Wireshark插件源码,以及一个相关的.pcap抓包文件,让我们来深入探讨一下这些内容。 首先,`ScoreBoard.lua`是Lua脚本文件,很可能用于解析特定的私有协议。在...
在Wireshark中,我们可以使用Lua编写自定义的解析器来捕获和解析特定的协议报文,极大地增强了Wireshark的功能。 在标题"制作lua脚本抓取wireshark自定义协议报文"中,主要涉及两个关键知识点:Wireshark的Lua脚本...
由 lua 编写的用于wireshark的BGP监控协议(BMP)解析器。 参考 用法 视窗 注释掉“%WIRESHARK%\init.lua”中的“disable_lua=true”。 (大概配置) bmp.lua 复制到“%WIRESHARK%\plugins\<version>\”或“%APP...
这通常涉及创建一个`.lua`文件,并可能需要创建配套的`.dissector`文件来定义插件在Wireshark中的行为。 通过以上步骤,你可以利用Wireshark和Lua插件深入解析OMCI协议报文,从而更好地理解和管理GPON网络中的ONT...
Wireshark解剖器(用Lua编写),用于解剖隧道协议。 此解剖器已过时,Wireshark 2.9.x中包含改进的版本。 有关更多说明,请参。 要求: Wireshark 2.0.2或更高版本(已通过Wireshark 2.3.x测试)。 和Libgcrypt ...
而Lua是一种轻量级的脚本语言,Wireshark支持使用Lua编写自定义的数据包解剖器,以便更深入地分析网络流量。 **描述解析:** 描述重申了标题中的信息,强调WireBait的核心功能是为Lua Wireshark解剖器提供独立的...
#Iperf3 Wireshark的解剖器Wireshark已经包含一个iperf2解剖器,但在iperf3中,某些字段已更改顺序,外加UDP端口。 因此,我制作了这个小LUA文件来识别和解析iperf3 UDP数据包。 工作基于 要安装,只需将LUA文件...
TriStation解剖器是TriStation协议... 它比#tubular还要粗糙,但这是TriStation的基本Wireshark LUA解剖器。 参考pcap: ://packettotal.com/app/analysis id 0e55d9467f138d148c9635617bc8fd83 参考资料blahg: :
在Wireshark-Lua中,开发者可以利用Lua语言的强大功能来编写自定义的解剖器模块,这些模块能够解析特定的网络数据包,展示在Wireshark的用户界面中。例如,对于金融市场的协议,如 ITCH(Interactive Trading Hub)...
Wireshark-RFID-解剖器... 在某些旧版本中,Lua是作为插件提供的。 要查看您的Wireshark版本是否支持Lua,请转到: 帮助菜单 关于Wireshark Wireshark选项卡 在“编译对象”段落中查找Lua。 ####如何在Wireshark上添
Wireshark是一款功能强大的网络协议分析工具,它提供了一个强大的插件机制,允许开发者创建自己的协议解析器。下面我们将逐步设计一个基础的解析器,从而了解Wireshark解析器的开发流程。 一、解析器的类型 ...
ALFRED Dissector是专为Wireshark设计的一个插件,用于解析ALFRED(ALFRED,可能是“Advanced Lightweight Framework for Real-time Event Distribution”)协议的数据包。本文将详细介绍如何安装和使用ALFRED ...
IEEE 1905.1标准描述了用于异构技术(例如PLC,WLAN,以太网和MoCA)的融合数字家庭网络。... 它以LUA脚本的形式实现,因此可以轻松地插入到现有的Wireshark安装中。 有关如何安装插件的提示,请参见文件开头的注释。
文献资料 有关详细说明,请参阅。 外部依赖关系: 简易AI 它们都包括在内和/或可以被禁用。 lua 5.3 ... 可以使用随附的Dissector Lua脚本在Wireshark中检查远程调试器网络协议。 为了减少编译时间,您
Zenoh解剖器协议解析器,适用于Wireshark在...广泛的测试用法要使用此功能,请将zenoh.lua复制到〜/ .local / lib / wireshark / plugins。 然后,当您运行Wireshark时,它将把端口7447上的TCP / UDP通信理解为Zenoh
如果您已有现有的init.lua文件以所需顺序加载Wireshark插件,请init.lua文件与该存储库中的init.lua合并。 您将需要在Wireshark文件夹的nex-keys.txt中添加您的NEX PID和您的NEX密码(针对您的设备)-解剖器将自动...
rtp_h264_extractor 将RTP h.264有效负载转储到原始h.264文件(* .264) 根据RFC3984将RTP的H264有效内容分解为NALU,并将... 您可以通过菜单“工具->将H264导出到文件[HQX的插件]”来访问此功能。 作者:黄强雄( )