MySQL Sniffer 是一个基于 MySQL 协议的抓包工具, 实时抓取 MySQLServer 端的请求, 并格式化输出. 输出内容包访问括时间, 访问用户, 来源 IP, 访问 Database, 命令耗时, 返回数据行数, 执行语句等. 有批量抓取多个端口, 后台运行, 日志分割等多种使用方式, 操作便捷, 输出友好.
同时也适用抓取 Atlas 端的请求, Atlas 是奇虎开源的一款基于 MySQL 协议的数据中间层项目, 项目地址:
同类型工具还有 vc-MySQL-sniffer, 以及 tshark 的 -e MySQL.query 参数来解析 MySQL 协议.
下载安装就不多说了, GitHub 地址: https://github.com/Qihoo360/mysql-sniffer (点击文章末尾 "阅读原文" 跳转).
建议在 centos6.2 及以上编译安装, 并用 root 运行.
输出格式为: 时间, 访问用户, 来源 IP, 访问 Database, 命令耗时, 返回数据行数, 执行语句.
-l 指定日志输出路径, 日志文件将以 port.log 命名.
-l 指定日志输出路径,-p 指定需要抓取的端口列表逗号分割. 日志文件将以各自 port.log 命名.
-l 指定日志输出路径,-r 指定端口范围, 日志文件将以各自 port.log 命名.
-l 指定日志输出路径,-r 指定端口范围, -w 指定过滤端口列表逗号分割, 日志文件将以各自 port.log 命名.
-l 指定日志输出路径,-p 指定端口, -n 指定数据包个数, 日志文件将以各自 port.log 命名.
-p 指定端口, -t 指定 SQL 长度, 将输出 SQL 的前 n 个字符 (适用于 SQL 过长的场景).
MySQL Sniffer 更多使用方式以及 Atlas 等其他技术请关注我们后续的相关分享.
阅读原文
来源: http://www.bubuko.com/infodetail-3091031.html