【问题标题】:MySQL queries coming on TCP instead of MySQL ProtocolMySQL 查询来自 TCP 而不是 MySQL 协议
【发布时间】:2017-08-28 13:14:24
【问题描述】:

我正在尝试使用 Windows 上的 Wireshark 通过我的 Web 应用程序和 MySQL 服务器捕获 MySQL 活动。我已经看到大多数关于捕获与 MySQL 相关的数据包的问题都返回 MySQL 协议以及查看发送的查询及其响应的可能性。然而,当运行 Wireshark 并使用我的应用程序时,我只能看到 TCP 数据包进出,如下面链接中的图片所示。

TCP Packet -> Src - Dst

Inside TCP Packet

需要注意的是,我使用过 tshark 和 WinDump 等工具通过网络收集数据包,但没有任何效果。

是我做错了什么还是 Wireshark 的错误?


感谢您的回答! 我按照克里斯托弗的建议做了编辑->首选项->协议-> MySQL。没有像“端口号”这样的东西,但问题是没有选择“在 INFO 列中显示 SQL 查询字符串”。

【问题讨论】:

标签: mysql tcp wireshark


【解决方案1】:

Wireshark 有一些逻辑可以自动确定观察到的流量类型。我不知道它在您的情况下失败的原因,但您始终可以手动指向所需的协议。右键单击一个 TCP 数据包,单击“解码为”并在最后一列中选择“MySQL”。

【讨论】:

  • 谢谢!很有帮助!
【解决方案2】:

提供的image 表示正在使用的端口是3307,但MySQL 解析器默认注册在port 3306,这是IANA-registered 端口用于mysql 流量。因此,当使用非标准端口时,您必须使用 Wireshark 的 “解码为” 功能,正如nnovich-OK 已经提到的那样。

在许多情况下,不幸的是在这种情况下尚不可用的另一个选项是更改解析器注册的端口号。虽然 MySQL 解析器不提供端口首选项,但您可以打开 Wireshark bug report 要求添加这样的首选项 - 如果您实际实现它的 submit a patch 会更好。一旦首选项可用,您就可以通过Edit -> Preferences -> Protocols -> MySQL -> Port Number 随意设置它,类似于有多少其他解析器允许可配置端口。

【讨论】:

  • 谢谢!很有帮助!
猜你喜欢
  • 2012-06-18
  • 2015-05-01
  • 1970-01-01
  • 2020-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-03
  • 1970-01-01
相关资源
最近更新 更多