在 wireshark
的过滤界面输入 mysql
、 amqp
等等就可以过滤
这么是实现的?
比如 mysql 的网络通讯协议 貌似并没有明确的标志位说自己就是 mysql
协议
难道靠统计信息来猜?
我的意思是说,wireshark
怎么知道这个是mysql
的协议,而不是amqp
的,而不是ftp
的等等
在 wireshark
的过滤界面输入 mysql
、 amqp
等等就可以过滤
这么是实现的?
比如 mysql 的网络通讯协议 貌似并没有明确的标志位说自己就是 mysql
协议
难道靠统计信息来猜?
我的意思是说,wireshark
怎么知道这个是mysql
的协议,而不是amqp
的,而不是ftp
的等等
5 回答3.8k 阅读
5 回答1.5k 阅读
2 回答2.2k 阅读
3 回答762 阅读✓ 已解决
1 回答1k 阅读
1 回答694 阅读✓ 已解决
1 回答994 阅读
很简单粗暴,就是先判断是否是 TCP 协议、且端口是否是 3306:
然后尝试解析,能解析出来就说明是 MySql,解析不出来就跳过、继续交给 DissectorTable 里符合条件的其他解析器继续解析,直到谁都解析不出来为止、那就是普通的 TCP 协议。
如果对完整的解析过程感兴趣可以自己阅读源码了解: