MySQL Sniffer
MySQL Sniffer 是360开源的一个基于 MySQL 协议的抓包工具, 能实时抓取客户端端请求,并格式化输出操作语句,操作十分简单。
对于问题的定位,操作的审核是个不错的利器。
Github地址:https://github.com/Qihoo360/mysql-sniffer
安装
# yum install glib2-devel libpcap-devel libnet-devel
# unzip mysql-sniffer-master.zip
# cd mysql-sniffer-master
# cmake .
-- Configuring done
-- Generating done
-- Build files have been written to: /root/mysql-sniffer-master
# make
Scanning dependencies of target mysql-sniffer
[ %] Building C object bin/CMakeFiles/mysql-sniffer.dir/main.c.o
[ %] Building C object bin/CMakeFiles/mysql-sniffer.dir/mysql-dissector.c.o
/root/mysql-sniffer-master/src/mysql-dissector.c: In function ‘decode_mysql_lenenc_int’:
/root/mysql-sniffer-master/src/mysql-dissector.c:: warning: dereferencing type-punned pointer will break strict-aliasing rules
[ %] Building C object bin/CMakeFiles/mysql-sniffer.dir/util.c.o
[ %] Building CXX object bin/CMakeFiles/mysql-sniffer.dir/session.cpp.o
[ %] Building CXX object bin/CMakeFiles/mysql-sniffer.dir/sniff-config.cpp.o
[%] Building CXX object bin/CMakeFiles/mysql-sniffer.dir/sniff-log.cpp.o
Linking CXX executable mysql-sniffer
[%] Built target mysql-sniffer
# cd bin/
# ls
CMakeFiles cmake_install.cmake Makefile mysql-sniffer
参数说明
参数说明也是简明易懂。
# ./mysql-sniffer -help
Usage ./mysql-sniffer [-d] -i eth0 -p ,, -l /var/log/mysql-sniffer/ -e stderr
[-d] -i eth0 -r -
-d daemon mode.
-s how often to split the log file(minute, eg. ). if less than , split log everyday
-i interface. Default to eth0
-p port, default to . Multiple ports should be splited by ','. eg. ,
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 . if active tcp count is larger than the specified count, mysql-sniffer will remove the oldest one
示例
# ./mysql-sniffer -i eth0 -p 3306
其中,倒数第二列是返回数据的行数。
-- :: root 192.168.244.20 NULL 0ms select @@version_comment limit
-- :: root 192.168.244.20 NULL 0ms select USER()
-- :: root 192.168.244.20 NULL 0ms select
-- :: root 192.168.244.20 NULL 0ms SELECT DATABASE()
-- :: root 192.168.244.20 test 24ms use test
-- :: root 192.168.244.20 test 172ms show databases
-- :: root 192.168.244.20 test 0ms show tables
-- :: root 192.168.244.20 test 0ms show tables
-- :: root 192.168.244.20 test 58ms select * from test1
-- :: root 192.168.244.20 test 0ms SELECT DATABASE()
-- :: root 192.168.244.20 test 0ms use test
注意
1. 只能抓取新建的链接,如果是之前创建的链接将获取不到用户名和库名,并有一定几率丢包。
2. 如果客户端是在本地,如果走的是tcp连接的话,如mysql -h 192.168.244.10 -uroot -p123456,其中192.168.244.10是本地主机ip,
则只能通过回环地址来捕捉,./mysql-sniffer -i lo -p 3306
参考
https://github.com/Qihoo360/mysql-sniffer/blob/master/README_CN.md
MySQL Sniffer的更多相关文章
- MySQL抓包工具:MySQL Sniffer【转】
本文来自:https://github.com/Qihoo360/mysql-sniffer 简介 MySQL Sniffer 是一个基于 MySQL 协议的抓包工具,实时抓取 MySQLServer ...
- Mysql抓包工具 - MySQL Sniffer 使用小结 (含带general_log日志)
在mysql运维工作中,一般会使用tcpdump做一些分析(直接读分析日志比较难以看明白,在数据库连接值高时使用):对于mysql实时的连接监控分析,通常会使用"mysqladmin/sho ...
- MySQL抓包工具:MySQL Sniffer 和性能优化
简介 MySQL Sniffer 是一个基于 MySQL 协议的抓包工具,实时抓取 MySQLServer 端的请求,并格式化输出.输出内容包访问括时间.访问用户.来源 IP.访问 Database. ...
- 0818基于360开源数据库流量审计MySQL Sniffer
开源数据库流量审计MySQL Sniffer 我最推崇的数据库安全产品就是基于流量的数据库审计,因为它不需要更改网络结构,并且也是最关键的是,不影响数据库服务器性能,不用苦口婆心的劝数据库管理员安装监 ...
- 抓包:MySQL Sniffer
1.依赖文件安装 依赖glib2-devel.libpcap-devel.libnet-devel [root@VMUest ~]# yum install cmake [root@VMUest ~] ...
- MySQL、Redis、MongoDB网络抓包工具
简介 go-sniffer 可以抓包截取项目(MySQL.Redis.MongoDB)中的请求并解析成相应的语句,并格式化输出.类似于在之前的文章 MySQL抓包工具:MySQL Sniffer[转] ...
- 万答#21,如何查看 MySQL 数据库一段时间内的连接情况
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 查看方式 已知至少有两种方式可以实现 1.开启 general_log 就可以观察到 开启命令 mysql> set ...
- mysql监视器MONyog的使用
MONyog是个商业收费软件,可是能够找一下破解版.我用的是4.72破解版 1. 图1.1 在server设置中,如图1.1. 在Sniffer Settings里Enable sniff ...
- MySQL数据库密码破解
研究MySQL数据库的加解密方式,在网络攻防过程中具有重要的意义:试想一旦获取了网站一定的权限后,如果能够获取MySQL中保存用户数据,通过解密后,即可通过正常途径来访问数据库:一方面可以直接操作数据 ...
随机推荐
- 解决Centos 7 下 tomcat字体异常 Font '宋体' is not available to the JVM
错误提示: SEVERE: Servlet.service() for servlet [example] in context with path [/myproject] threw except ...
- 按钮(Buton)组价的功能和用法
Button继承了TextView,它主要是在UI界面上生成一个按钮,该按钮可以供用户单机,当用户单击按钮时,按钮会触发一个onClick事件. 按钮使用起来比较容易,可以通过为按钮指定android ...
- cssText 和 this
一.cssText 元素.style.width = '200px'; ==> 元素.style.cssText = 'width:200px;height:200px;' 二.this ...
- SSM(Maven集成)
ssm全称:Spring+SpringMVC+Mybatis ssm简介: 1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod J ...
- Activity生命周期完全解析
**转载请注明出处:http://www.cnblogs.com/landptf/p/6309108.html** 生命周期是个老生常谈的问题了,今天做个汇总,全当是记个笔记,以后查找起来方便一些.下 ...
- 使用Grafana 展示Docker容器的监控图表并设置邮件报警规则
一.Docker 容器监控报警方式 接着上篇文章的记录,看到grafana的版本已经更新到4.2了,并且在4.0以后的版本中,加入了Alert Notifications 功能,这样在对容器 监控完, ...
- Redis系列二(yum切换为网易163)
这个可能和Redis没有直接的关系... 是我在yum install的时候发现centos的yum实在是太慢,上网查了下.网易163有个yum镜像,为了让CentOS6使用速度更快的YUM更新源,可 ...
- TimSort算法分析
Timsort是一种混合稳定的排序算法,采用归并排序混合插入排序的设计,在多种真实数据上表现良好. 它基于一个简单的事实,实际中大部分数据都是部分有序(升序或降序)的. 它于2002年由Tim Pet ...
- Sublime Text3常用插件以及安装方法(实用)
Package Control组件在线安装 按Ctrl+`调出console(注:避免热键冲突) 粘贴以下代码到命令行并回车: import urllib.request,os; pf = 'Pack ...
- [UWP]依赖属性2:使用依赖属性
5. 完整的自定义依赖属性 5.1 定义 /// <summary> /// 标识 Title 依赖属性. /// </summary> public static reado ...