MySQL sniffer对端口通信抓包分析
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本文主要给大家介绍MySQL sniffer对端口通信抓包分析,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在行业资讯里面关注我的更新文章的。背景总是有些开发和 测试在抱怨MySQL
千家信息网最后更新 2026年11月01日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安全错误
数据库的锁怎样保障安全
互联网科技行业发展
互联网科技有限公司图片
科技服务与互联网
碳银互联网科技
浩特互联网科技
华中科技大学互联网
中国最先进互联网科技公司
现代科技和互联网有关系吗
阿里互联网科技公司
来此购互联网科技有限公司
宜昌元轩互联网科技有限公司
洛阳昕诺飞互联网科技有限公司
想开互联网科技公司怎么样
乌苏新华互联网科技做什么的
华夏恒生互联网科技013171
广州燕处互联网科技有限公司
互联网科技接地气
互联网科技平台产品运营
银川新华互联网科技学校原画
上海互联网科技园景观
湖北九亚互联网络科技有限公司
广州大一互联网络科技有限公司
云之行互联网科技
互联网科技上市公司
睿民互联网科技
山东吉时兔互联网科技有限公司
现代互联网科技股
科技互联网海报
广州互联网高科技取餐柜
广州智享互联网科技