如何解决Lua允许我从Wireshark筛选器文本框中“读入”文本吗?
| 我希望编写一个应用程序,该应用程序读取Wireshark过滤器文本框中的任何过滤条件,然后使用Lua对其进行操作。有人知道这是否可能吗?我想知道是否有可能在深入学习Lua并将其与Wireshark结合使用之前。 谢谢! 乔解决方法
不,您无法阅读它,但是可以设置过滤器并将其应用于当前捕获。请参阅Wireshark文档中的GUI支持部分。
要设置显示过滤器文本框的文本,请使用
set_filter(text)
。
要应用显示过滤器的当前文本(使其生效),请使用apply_filter()
。
避免从解剖器内部调用apply_filter()
(重新调用解剖器会发生无限循环)。该功能更适合菜单操作或按钮操作。
编辑:将自己的get_filter()
Lua函数添加到Wireshark的Lua API(未经测试):
在funnel_stat.c
中添加一个名为funnel_get_filter()
的函数(例如,参见第468行)。
将get_filter
加到ѭ7(funnel.h:80
)。
在funnel_stat.c:546
和tap-funnel.c:90
处将funnel_get_filter
加到funnel_ops
。确保根据funnel_ops_t
将其添加到正确的数组索引处。
将以下代码复制到wslua_gui.c
,然后进行编译:
/* TODO: Test me!! */
WSLUA_FUNCTION wslua_get_filter(lua_State* L) { /* Get the text of the display filter textbox */
const gchar* text;
text = ops->get_filter();
lua_pushstring(L,text);
WSLUA_RETURN(1); /* The display filter textbox\'s text. */
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。