我正在为wireshark编写解剖器。有些数据包无法解析,因为该数据包中没有上下文。上下文包含有关数据包的SDU类型的信息。所以,我想在wireshark中注册一个菜单,用户可以选择SDU的类型。
但是有一个问题是,在用户选择SDU类型后,他们必须首先选择其他数据包,然后重新选择数据包,以便再次调用解析器。
我的问题是,有没有办法手动重新剖析选定的数据包?
答案 0 :(得分:1)
你说“有没有办法手动重新剖析选定的数据包?”如果您的意思是手动,那么用户可以手动执行此操作 - 他们可以单击工具栏上的重新加载图标按钮。
如果您的意思是自动,通过让您的代码为用户执行,那么是 - 如果您使用C代码编写此解剖器:您可以调用redissect_packets()
,通常然后是redissect_all_packet_windows()
,以涵盖打开多个数据包详细信息窗口的情况。
答案 1 :(得分:0)
所以,我想在wireshark中注册一个菜单,用户可以选择SDU的类型。
如果您优先选择解剖器的协议,则不必修改Wireshark源来更改菜单,并且在更改首选项时,将自动重新分发所有数据包。这就是我们期望手动配置的项目,例如在解剖器中处理的项目。