WireShark 的问题(MySQL 嗅探)

WireShark 的问题(MySQL 嗅探)

我如何使用 WireShark 嗅探 MySQL 数据?我也使用了“mysqlsniffer”,但没有结果。没有任何来自 MySQL 的数据包。我在 WireShark 中通过“MySQL.isPresent”进行了过滤,但什么也没发生。

MySQL 从存储库安装在 Ubuntu 10.10 上。这是 my.conf:http://pastebin.com/jkJU773E

我也可以 telnet 到 MySQL:

halo@desktop:~$ telnet localhost 3306
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
?
5.1.49-1ubuntu8.1�otw|(N2iL~Vsam~Sbr9
^CConnection closed by foreign host.
halo@desktop:~$ 

答案1

默认情况下,在 localhost 上,mysql 实际上通过 UNIX 套接字进行连接。添加-h 127.0.0.1mysql行中以强制通过 TCP 进行通信。

答案2

你确定你嗅探的是正确的接口吗?如果你像示例中那样在本地连接,则应该连接到环回接口 ( lo),而不是eth0任何其他eth*

我不知道 MySQL.isPresent,你试过过滤 tcp 端口 3306 吗?真的应该足够了。

另外,您也可以使用命令行上的 tcpdump 捕获流量,然后使用 wireshark 打开转储文件:

tcpdump -nli lo port 3306 -s 0 -w mysql.dump
wireshark mysql.dump

如果需要,请将 lo 替换为 eth0 等。

相关内容