MySQL sniffer对端口通信抓包分析
发表于:2024-12-04 作者:千家信息网编辑
千家信息网最后更新 2024年12月04日,本文主要给大家介绍MySQL sniffer对端口通信抓包分析,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在行业资讯里面关注我的更新文章的。背景总是有些开发和 测试在抱怨MySQL
千家信息网最后更新 2024年12月04日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安全错误
数据库的锁怎样保障安全
梦幻限时服务器体活
服务器能玩建筑大师吗
帆软提示服务器压力过大
医学查新数据库
网络安全文明周记300
大同网络安全招聘网
软件开发管理办法
为什么供应商数据库编号范文
数据库模式分类6
綦江网络安全宣传周
3万软件开发要求赔50万
计算机科学和网络安全哪个好
以网络安全为主题写一篇文章
access数据库2010下载
珠海行业软件开发咨询
游戏企业网络安全
深圳前十软件开发企业
如何保证服务器不间断24小时
网络安全事件预控措施
网络安全信息化建设审计报告
网络安全责任义务是什么
河南省高校学生资助在线服务器
计算机网络安全意味什么
数据库招聘系统CDM图
王者服务器分布区域图
电脑数据库重新安装程序
2017中国网络安全态势
明日方舟联机不同服务器
成都微恒网络技术有限公司融资
广州远东互联网科技有限公司