MySQL sniffer对端口通信抓包分析
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本文主要给大家介绍MySQL sniffer对端口通信抓包分析,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在行业资讯里面关注我的更新文章的。背景总是有些开发和 测试在抱怨MySQL
千家信息网最后更新 2025年11月07日MySQL sniffer对端口通信抓包分析
本文主要给大家介绍MySQL sniffer对端口通信抓包分析,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在行业资讯里面关注我的更新文章的。
- 背景
总是有些开发和 测试在抱怨MySQL没有SQL Server的高频语句分析功能和
trace功能。其实MySQL是个轻量型的数据库软件,相比臃肿无比的SQL Server,在
搭建效率和软硬件性能上更胜一筹,更不要提Windows域环境的各种坑了。轻便高
效的同时,必然会舍弃一些与高速OLTP无关的功能,如数据仓库方向的优化,语句
跟踪等功能。
但在5.7版本的sys库加入后,也可以配合官方的workbench软件进行高频语句,
索引使用情况,I/O性能等等的分析,虽然不能完全媲美SSMS的全能,但是比人肉
读取sys库和i_s库,p_s库来说还是云泥之别。
2.MySQL sniffer
在没有sys库,甚至不知道密码,担心general log影响性能,或者对连接情况进
行分析的话,可以通过MySQL sniffer对端口通信进行抓包分析。
MySQL sniffer(https://github.com/Qihoo360/mysql-sniffer)
是360开源的一款连接层抓包分析工具。 - 1.安装:
root# git clone git@github.com:Qihoo360/mysql-sniffer.gitroot# cd mysql-snifferroot# yum -y install glib2-devel libpcap-devel libnet-devel cmakeroot# yum -y install gcc gcc-c++root# mkdir snifferroot# make&&cmake
2.使用root# cd snifferroot# ./mysql-sniffer -hUsage ./mysql-sniffer [-d] -i eth0 -p 3306,3307,3308 -l /var/log/mysql-sniffer/ -e stderr
[-d] -i eth0 -r 3000-4000
-d daemon mode. #后台方式
-s how often to split the log file(minute, eg. 1440). if less than 0, split log everyday #日志切割频率
-i interface. Default to eth0 #网卡接口
-p port, default to 3306. Multiple ports should be splited by ','. eg. 3306,3307 this option has no effect when -f is set. #监听的端口
-r port range, Dont use -r and -p at the same time #端口范围
-l query log DIRECTORY. Make sure that the directory is accessible. Default to stdout. #输出到指定目录下面的端口.log文件中,不在输出到屏幕
-e error log FILENAME or 'stderr'. if set to /dev/null, runtime error will not be recorded #输出错误信息到指定的错误文件中
-f filename. use pcap file instead capturing the network interface #使用给定的Pcap文件进行分析,而不是分析实时的网卡信息
-w white list. dont capture the port. Multiple ports should be splited by ','. #白名单,不捕获这些端口
-t truncation length. truncate long query if it is longer than specified length. Less than 0 means no truncation #控制记录捕获的SQL的长度
-n keeping tcp stream count, if not set, default is 65536. if active tcp count is larger than the specified count, mysql-sniffer will remove the oldest one`
3.使用方法:
先使用ip addr命令观察自己的网卡,再指定端口,指定日志文件
例如:./mysql-sniffer -d -i ens192 -p 3306,3307 -l /data/log/3306gen.log
./mysql-sniffer -i lo -r 3306-3310
注:本机流量通过lo也就是回环口进行监听。
后记: 在Centos7 上出现了无法抓包,或者抓包为空的情况,经过反复排查后发现是libpcap版本问题, 升级到最新的1.8版本即可正常抓取MySQL的通信数据包。 http://rpmfind.net/linux/fedora/linux/releases/27/Everything/x86_64/os/Packages/l/libpcap-1.8.1-6.fc27.x86_64.rpm 如果你也出现了抓取不到任何信息的情况,不妨使用tcpdump进行本地抓包,然后交给sniffer进行 分析,进行排查到底是抓取有问题还是分析MySQL通信时出现了问题 `yum -y install tcpdump` `tcpdump -i eth0 -w tcpdump4sniffer.pcap``mysql-sniffer -f tcpdump4sniffer.pcap`
看了以上关于MySQL sniffer对端口通信抓包分析,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。
分析
端口
通信
问题
功能
情况
文件
性能
数据
版本
网卡
语句
输出
信息
日志
软件
还是
更新
监听
解答
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
群晖服务器硬盘多大
应用服务器管理方案
网络安全靠人蒙文报纸
软件开发专项整改有哪些
模拟城市怎么增加服务器
网络安全宣传周取得的效果
移动互联网应用软件开发代码
redis和时序数据库性能
维普数据库知网数据库
同时查找两个数据库
恒通万维北京网络技术公司
官渡区服务器回收价格表
pubg服务器已满载
淘宝服务器有bug吗
怎么添加文件到表格数据库
北京医疗软件开发
竹溪智能软件开发服务保障
远程管理服务器被锁
软件开发相关招聘信息
tcga数据库文件的处理
办公室怎么设置服务器
5g网络技术的关键是
广西盘古网络技术有限公司
wow3.35职业数据库
服务器管理楼
连接服务器数据库连接超时
秦殇重制版纯服务器模式
南京工程软件开发平均价格
浙江项目软件开发销售
企事业单位网络安全检查情况