wriesharek同时监听多个端口

Posted Meteoric_cry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wriesharek同时监听多个端口相关的知识,希望对你有一定的参考价值。

之前的文章《wireshark解析自定义的protobuf协议》 ,当时只监听了一个端口,而如果游戏同时有二个 socket 连接,比如一个是网关另外一个是其它的,怎么办呢?

for i,port in ipairs(tcp_port) do
        tcp_port_table:add(port, m_MeteoricProto)
 end

参考链接:https://wiki.wireshark.org/Lua/Examples#Using_Lua_to_register_protocols_to_more_ports

 

 

 

wiresharek 的过滤条件可以这样写:

(ip.dst == 192.168.xx.xx or ip.src == 192.168.xx.xx) && tcp.len > 0

这样显示的基本上就是自定义解析的 socket 消息了,关于过滤条件,更多详情可参考官网:

https://wiki.wireshark.org/DisplayFilters

 

第一个问题,监听多个端口,查官方文档没找到答案。

image

 

https://wiki.wireshark.org/LuaAPI/Dissector#dissectortable:add.28pattern.2C_dissector.29

追踪到源码也不是太理解

image

https://github.com/wireshark/wireshark/blob/master/epan/wslua/wslua_dissector.c

 

之后测试发现,下面二种方式也是可以的,一种表示范围,另一种表示多个端口,与用for循环的效果一样。

tcp_port_table:add("8002-8004", m_MeteoricProto)

tcp_port_table:add("8002,8003,8004", m_MeteoricProto)

以上是关于wriesharek同时监听多个端口的主要内容,如果未能解决你的问题,请参考以下文章

同时处理TCPUDP的服务

C++ SOCKET编程,如何监听多个端口,比如监听两个端口,关键代码该怎么写,求教求教,求代码!

rose策略监听多个端口应用吗

node多项目同时运行,nginx端口监听转发

TCP和UDP使用同一端口通信

C#同时监听两个tcp端口