我正在为 Wireshark 创建一个自定义解析器。我将我的解剖器添加到解剖器表中,就像这样......
udp_table = DissectorTable.get("udp.port")
udp_table:add(7777,my_proto)
然而,我的解析器不只是处理 udp 端口 7777,我希望它能够处理任何 udp 端口或至少处理一个很大的范围。
我怎样才能做到这一点?
它说在文档 https://www.wireshark.org/docs/wsug_html_chunked/lua_module_Proto.html,它说我可以用范围替换 7777 (模式),但我不确定其语法是什么。
谢谢你!
理论上,使用 Lua 字符串作为第一个参数添加范围dissectortable:add()
,其中字符串是一个范围,例如“7777-8888
“。但是,可能存在一个错误,无法立即正常工作(请参阅这个ask.wireshark.org 线程 http://ask.wireshark.org/questions/32810/prefsrange-handling-in-lua).
无论如何,你应该not让你的解剖器运行everyUDP 端口,因为它不是真的,并且会与一大堆众所周知的 UDP 端口使用(例如 DNS、UPNP、SIP 等)以及动态使用的端口(例如 RTP 和 RTCP)发生冲突。
也许您真正想做的是拥有一个启发式解剖器?如果是这样,您可以从wireshark v1.11.3及更高版本开始将Lua解析器设为启发式解析器(最新的wireshark版本是1.12rc2)。请参阅原型的 API 文档:register_heuristic https://www.wireshark.org/docs/wsdg_html_chunked/lua_module_Proto.html#lua_fn_proto_register_heuristic_listname__func_,以及示例在顶部Lua 示例页面 http://wiki.wireshark.org/Lua/Examples.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)