MySQL sniffer对端口通信抓包分析
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,本文主要给大家介绍MySQL sniffer对端口通信抓包分析,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在行业资讯里面关注我的更新文章的。背景总是有些开发和 测试在抱怨MySQL
千家信息网最后更新 2025年02月02日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.git
root# cd mysql-sniffer
root# yum -y install glib2-devel libpcap-devel libnet-devel cmake
root# yum -y install gcc gcc-c++
root# mkdir sniffer
root# make&&cmake
2.使用root# cd sniffer
root# ./mysql-sniffer -h
Usage ./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安全错误
数据库的锁怎样保障安全
计算机网络技术桂林理工
led 上位机软件开发
造梦西游ol服务器去哪里了
数据库安全与操作系统安全的差别
浙大数据库技术应用题答案
宝山区电商软件开发定制平均价格
fm19数据库补丁
邯郸市公安局网络安全支队 电话
如何找到数据库中重复数据
查看数据库表命令
单机魔域数据库
徐州多功能软件开发技术参数
深信服网络安全态度报告
北京筑业软件开发
高中网络技术教学计划范文
郴州帮助软件开发哪家便宜
软件开发 管理软件
网络安全保证范文
外文数据库优点有哪些
小学校园网络安全标语
数据库字段太多如何分表
密码技术和网络技术交叉
安全狗服务器规则
忻州妇联网络安全
开数据库闪回
网络安全 我国发展重要性
阿秋网络技术服务部
网络安全的基本要素隐蔽性
软件开发能干到什么程度
小贷公司有什么软件开发需求