wireshark抓取mysql数据包

时间:2023-03-08 16:16:42
wireshark抓取mysql数据包

最近在学习搭建数据库服务,因为跟产品相关所以需要从流量中拿到mysql的数据包。然后就想着在本机搭建mysql数据库,然后连接,用wireshark抓就行了。

MySQL搭建用的是XAMPP,想说XAMPP真的是很强大啊,方便简单,对测试小白来说搭建简单的环境真是神器存在,说岔了......开启web服务和mysql服务之后,一通操作,什么添加用户,新建数据库表,然而wireshark并没抓到包。

换种方法,在自己的虚拟机上装了一个MySQL数据库,然后本机用SecureCRT利用ssh登上虚拟机,再一通连接数据库等各种操作,这时候抓的包都是ssh协议的。恩...一定是哪里不对,思考思考,上面两种办法的源地址和目的地址都是同一个啊,应该会有影响,所以决定用另一种方法,远程连接mysql,这下应该就可以了

远程连接mysql:远程连接之前需要配置Mysql允许远程连接,改表法,授权法,百度之后通通试一遍,这里参考https://www.cnblogs.com/skyWings/p/5952795.html,配置完成之后,本机进入DOS命令窗口,连接MySQL,开始抓包:mysql -h "ip" -u root -p "password"

wireshark抓取mysql数据包

这里显示连接成功,wireshark也终于抓到mysql数据包,喜悦之情有点难以自抑啊....

wireshark抓取mysql数据包

那为啥第一次抓不到包呢,后来经查资料发现:(以下内容很重要很基础,最容易被忽略)

当自己电脑既是客户端又是服务器时,互相访问时流量并没有经过网卡,windows系统又没有提供本地回环网络的接口,wireshark在windows系统上默认使用的是WinPcap来抓包的,用它监控网络的话只能看到经过网卡的流量,看不到访问localhost的流量,所以才会出现第一次连接始终没有数据包的状况。解决这个问题的两种办法是:要么服务器和客户端不要在同一台机器上,要么用Npcap来替换掉WinPcap,Npcap提供环回接口

虽然内容很基础,但是通过这次操作,发现了以前一直忽略的问题,也算学到了新知识点,还是有点成就感的。