我试图通过在Windows上使用Wireshark通过我的Web应用程序和MySQL服务器捕获MySQL活动。我已经看到大多数关于捕获与MySQL相关的数据包的问题都会返回MySQL协议以及查看发送的查询及其响应的可能性。然而,当运行Wireshark并使用我的应用程序时,我看到只有TCP数据包来来往往,如下面链接中的图片所示。
值得注意的是,我已经使用tshark和WinDump等工具通过网络收集数据包,但没有任何效果。
我做错了什么或者它是Wireshark的错误?
感谢您的回答! 我做了克里斯托弗在编辑后提出的建议 - >偏好 - >协议 - > MySQL的。没有像"端口号",但问题是"在INFO列中显示SQL查询字符串"未被选中。
答案 0 :(得分:0)
Wireshark有一些逻辑可以自动确定观察到的流量类型。我不知道它在你的情况下失败的原因,但你总是可以手动指向所需的协议。右键单击其中一个TCP数据包,单击“解码为”并在最后一列中选择“MySQL”。
答案 1 :(得分:0)
提供的image表示正在使用的端口是3307,但MySQL解析器默认注册port 3306,这是mysql
流量的IANA-registered端口。因此,当使用非标准端口时,您必须使用Wireshark的" Decode As" 功能,因为nnovich-OK已经提到过。
在许多情况下,遗憾的是,在这种情况下尚未提供的另一种选择是更改解剖器注册的端口号。 MySQL解析器虽然没有提供端口首选项,但您可以打开Wireshark bug report要求添加这样的首选项 - 如果您实际实现它的submit a patch则更好。一旦首选项可用,您就可以通过Edit -> Preferences -> Protocols -> MySQL -> Port Number
按需设置它,类似于有多少其他解剖器允许可配置端口。