Mysql数据库基于流量审计工具之mysql-sniffer

Base Enviroment:CentOS release 6.5 +10.1.40-MariaDB MariaDB Server
安装完后,经过Navicat客户端工具,java web项目,linux操作系统myql客户端,三个维度(客户端)的实测。
实测结果是:此工程只能做到,命令行发起的对数据库的操作。
1.安装mysql-sniffer:

#yum install glib2-devel libpcap-devel libnet-devel
# cd /usr/local/src/
​#git clone https://github.com/Qihoo360/mysql-sniffer   #此步较慢,耐心等待……
#cd mysql-sniffer
#mkdir proj
#cd proj
#cmake ../
#make
#cd bin/
2.参数查看
./mysql-sniffer -h

Usage ./bin/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, Don't use -r and -p at the same time
         -l query log DIRECTORY. Make sure that the directory is accessible. Default to stdout.
         -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
         -w white list. dont capture the port. Multiple ports should be splited by ','.
         -t truncation length. truncate long query if it's longer than specified length. Less than 0 means no truncation
         -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.执行命令,将mysql3306端口流量打到某网卡上(如eth0
实时查看>>>>>
# ./bin/mysql-sniffer -i eth0 -p 3306
打到某日志文件>>
# ./bin/mysql-sniffer -i eth0 -p 3306 -l /tmp/mysql-sniffer/
查看网卡
f496b36dd40fa67e668569b64cc02f7f71f.jpg
4.查看效果:
mysql服务器启动mysql-sniffer开启实时监控e86984e4d5b0fcdae17c2bd88289a600859.jpg

【方式一:windows电脑使用mysql客户端navicat访问mysql服务器的审计情况】

1af99c88165eec494e9b0a6d348d73ce644.jpg

 

执行sql语句。

aeafe8e2e2ff95bef6a098ee8a2508c796e.jpg

审计控制台并没有回显具体的执行语句,再次更改sql语句,控制台不会在有任何信息显示。

e2cfcfd5c5620d78748e6304ab8660ee8fc.jpg

【方式二:java web项目访问数据库,控制台同样没有任何涉及信息】
06a1ca8a0503c29966995f0f3d40d5ba17e.jpg
【方式三:命令行终端】
可以看到完整的审计信息,从登陆数据库到登录后执行的具体sql(查询表,更新表等)审计控制台可以做到完全回显
4094b935c3806f84b2f13986b2db27b91b7.jpg
61c2be431ee5312bed32ac683ab9df60993.jpg

【审计控制台终端情况如下:】
5630508ce385a46ae9ab2c5d90882e8e6f9.jpg

 

【源码地址:】
https://github.com/Qihoo360/mysql-sniffer/blob/master/README_CN.md

转载于:https://my.oschina.net/guiguketang/blog/3053579

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值