简介

MySQL Sniffer 是一个基于 MySQL 协议的抓包工具,实时抓取 MySQLServer 端的请求,并格式化输出。输出内容包访问括时间、访问用户、来源 IP、访问 Database、命令耗时、返回数据行数、执行语句等。有批量抓取多个端口,后台运行,日志分割等多种使用方式,操作便捷,输出友好。

同时也适用抓取 Atlas 端的请求,Atlas 是奇虎开源的一款基于MySQL协议的数据中间层项目,项目地址:https://github.com/Qihoo360/Atlas

同类型工具还有vc-mysql-sniffer,以及 tshark 的 -e mysql.query 参数来解析 MySQL 协议。

使用

建议在 centos6.2 及以上编译安装,并用 root 运行。

工具参数:

./mysql-sniffer -h

Usagemysql-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).ifless than 0,split log everyday

-i interface.Defaultto eth0

-p port,defaultto 3306.Multipleports should be splited by','.eg.3306,3307

thisoption has noeffect when-f isset.

-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.Lessthan 0means notruncation

-n keeping tcp stream count,ifnotset,defaultis65536.ifactive tcp count islarger than the specified count,mysql-sniffer will remove the oldest one

示例

1. 实时抓取某端口信息并打印到屏幕

输出格式为:时间,访问用户,来源 IP,访问 Database,命令耗时,返回数据行数,执行语句。

mysql-sniffer -i eth0 -p 3306

2017-02-2314:47:45testuser    10.xx.xx.xx     NULL             0ms1select@@version_commentlimit 1

2017-02-2314:47:45testuser    10.xx.xx.xx     NULL             0ms1selectUSER()

2017-02-2314:47:48testuser    10.xx.xx.xx     NULL             0ms13show databases

2017-02-2314:47:51testuser    10.xx.xx.xx     NULL             0ms1SELECT DATABASE()

2017-02-2314:47:51testuser    10.xx.xx.xx     mysql            0ms0usemysql

2017-02-2314:47:53testuser    10.xx.xx.xx     mysql            0ms29show tables

2017-02-2314:47:54testuser    10.xx.xx.xx     mysql            0ms1select1

2017-02-2314:48:01testuser1   10.xx.xx.xx     NULL             0ms0setautocommit=1

2017-02-2314:48:01testuser1   10.xx.xx.xx     NULL             0ms0setautocommit=1

2. 实时抓取某端口信息并打印到文件

-l 指定日志输出路径,日志文件将以 port.log 命名。

mysql-sniffer -i eth0 -p 3306-l /tmp

3. 实时抓取多个端口信息并打印到文件

-l 指定日志输出路径,-p 指定需要抓取的端口列表逗号分割。日志文件将以各自 port.log 命名。

mysql-sniffer -i eth0 -p 3306,3307,3310-l /tmp

4. 实时抓取多个连续递增的端口并打印到文件

-l 指定日志输出路径,-r 指定端口范围,日志文件将以各自 port.log 命名。

//抓取端口包括(3306,3307,3308,3309,3310)

mysql-sniffer -i eth0 -r 3306-3310-l /tmp

5. 实时抓取多个连续递增的端口同时过滤某几个端口,并打印到文件

-l 指定日志输出路径,-r 指定端口范围, -w 指定过滤端口列表逗号分割,日志文件将以各自 port.log 命名。

//抓取端口包括(3306,3307,3310)

mysql-sniffer -i eth0 -r 3306-3310-w 3308,3309-l /tmp

6. 抓取某个端口以 daemon 模式运行,并打印到文件

-l 指定日志输出路径,-p 指定端口, -n 指定数据包个数,日志文件将以各自 port.log 命名。

mysql-sniffer -i eth0 -p 3306-l /tmp -d

7. 抓取某个端口并截取指定长度的 SQL

-p 指定端口, -t 指定SQL长度,将输出 SQL的前n个字符(适用于 SQL 过长的场景)。

mysql-sniffer -i eth0 -p 3306-t 100

更多

MySQL Sniffer 更多使用方式以及 Atlas 等其他技术请关注我们后续的相关分享。

mysql sniffer 官网下载_MySQL抓包工具:MySQL Sniffer 和性能优化相关推荐

  1. mysql sniffer 源码_MySQL 抓包工具 - MySQL Sniffer 使用小结 (含带general_log日志)

    在mysql运维工作中,一般会使用tcpdump做一些分析(直接读分析日志比较难以看明白,在数据库连接值高时使用):对于mysql实时的连接监控分析,通常会使用"mysqladmin/sho ...

  2. 从mysql的官网下载tar.gz结尾的mysql

    做个记录,下载的是源码包,需要编译 百度mysql,进入mysql的官网:http://www.mysql.com/ 点Download: 然后,选Community ,再选MySQL Communi ...

  3. mysql rpm_MySQL官网下载安装.rpm包

    系统环境: Centos 7.6 数据库版本: Server version: 8.0.17 MySQL 关闭selinux和 防火墙 下载依赖包: yum install -y net-tools ...

  4. mysql mha官网下载_mysql MHA 及多主复制

    一.MHA(主节点高可用) 二.多主复制: 原理:多个msyql/mariadb之间可以实时同步,任意节点的操作可以立即同步到其他节点,底层采用galera插件同步,类似rsync,上层mysql相对 ...

  5. spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包

    下载spring http://spring.io/ 最重要是在特征下面的这段话,需要注意: All avaible features and modules are described in the ...

  6. 如何从maven官网下载maven版本包

    如何从maven官网下载maven版本包 1.访问MAVEN官网地址:https://maven.apache.org/ 2.点击左侧download,找到下图中位置,点击下载即可下载官方推荐的最新版 ...

  7. 如何在Spring官网下载各种jar包?

    如何在Spring官网下载各种jar包? 1.浏览器输入地址:https://spring.io ,如下图所示: 然后点击图中的PROJECTS,然后选择自己需要下载的jar包属于哪个分类.我下载的是 ...

  8. 【软件下载】Excel下载 word下载 官方 官网下载 原始镜像 开发工具 开发软件下载

    原文: [软件下载]Excel下载 word下载 官方 官网下载 原始镜像 开发工具 [开发软件下载] 官网 下载地址:www.liuguiqing.com.cn

  9. mysql抓包_mysql抓包工具

    简介 MySQL Sniffer 是一个基于 MySQL 协议的抓包工具,实时抓取 MySQLServer 端或 Client 端请求,并格式化输出.输出内容包括访问时间.访问用户.来源 IP.访问 ...

  10. 工具|MySQL、Redis、MongoDB网络抓包工具

    点击关注公众号,利用碎片时间学习 简介 go-sniffer 可以抓包截取项目(MySQL.Redis.MongoDB)中的请求并解析成相应的语句,并格式化输出.类似于在之前的文章 MySQL抓包工具 ...

最新文章

  1. 如何将所有浏览器的div垂直居中?
  2. 转载:赶集网部门老大回应热帖《我在赶集网的两个月》
  3. 面向对象设计7大原则
  4. winform窗体中嵌入显示Excel文件
  5. linux环境变量的系统设置
  6. mongodb 系列 ~ mongo的两种引擎对比
  7. 阿里巴巴分布式服务框架HSF
  8. ubuntu修改配置IP地址和DNS的方法总结(4种)
  9. “海纳百川”下载器的使用方法
  10. 适配新路由3(D2)的LEDE/OpenWrt固件
  11. GIS领域常用软件工具(框架)介绍与推荐
  12. 索骥馆-OFFICE系列之《北风网Excel高端应用培训:多条件约束报表自动统计系统分析与制作》共4章更新完
  13. 线性可分 线性不可分
  14. 顶峰Android手机视频转换器,凡人Android手机视频转换器
  15. 猴子分桃问题(JAVA实现)
  16. SQLPlus无法登录数据库提示密码不对或权限不足
  17. Flutter 一行代码快速实现你的进度条
  18. 简单的有限元分析(python)
  19. Unity3D UNET 模仿局域网游戏
  20. 优秀!24岁北航博士一毕业即受聘211高校副教授

热门文章

  1. 责任链模式实现及在Filter中的应用
  2. C/C++之奔跑的小人(小游戏,自娱自乐)
  3. 诺基亚n1平板电脑刷机教程_诺基亚N1 完整包线刷升级或救砖教程(不分台版;国行)...
  4. 信息系统分析与设计 第三章 信息系统建设概论
  5. APMS系列多通道相参微波信号发生器--四通道相参输出高达40GHz
  6. QT等待动态图gif加载透明背景lable
  7. 中班音乐计算机反思,中班音乐游戏打字机教案反思
  8. 考研助手软件制作记录
  9. 软件需求,概要设计,详细设计(文档)
  10. 新一代ARINC818仿真板卡