mysql-sniffer
C
C, C, C++
共71个文件
c: 19
h: 15
in: 5
cpp: 3
txt: 2
md: 2
gitignore: 1
LICENSE: 1
a: 1
24/CHANGES: 1
MySQL Sniffer 是一个基于 MySQL 协议的抓包工具,实时抓取 MySQLServer 端或 Client 端请求,并格式化输出。输出内容包括访问时间、访问用户、来源 IP、访问 Database、命令耗时、返回数据行数、执行语句等。有批量抓取
简介
MySQL Sniffer 是一个基于 MySQL 协议的抓包工具,实时抓取 MySQLServer 端或 Client 端请求,并格式化输出。输出内容包括访问时间、访问用户、来源 IP、访问 Database、命令耗时、返回数据行数、执行语句等。有批量抓取多个端口,后台运行,日志分割等多种使用方式,操作便捷,输出友好。
同时也适用抓取 Atlas 端的请求,Atlas 是奇虎开源的一款基于MySQL协议的数据中间层项目,项目地址:https://github.com/Qihoo360/Atlas
同类型工具还有vc-mysql-sniffer,以及 tshark 的 -e mysql.query 参数来解析 MySQL 协议。
使用
建议在 centos6.2 及以上编译安装,并用 root 运行。
依赖
glib2-devel、libpcap-devel、libnet-devel
安装
git clone git@github.com:Qihoo360/mysql-sniffer.git
cd mysql-sniffer
mkdir proj
cd proj
cmake ../
make
cd bin/
###参数:
./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, 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
示例
1. 实时抓取某端口信息并打印到屏幕
输出格式为:时间,访问用户,来源 IP,访问 Database,命令耗时,返回数据行数,执行语句。
mysql-sniffer -i eth0 -p 3306
2017-02-23 14:47:45 testuser 10.xx.xx.xx NULL 0ms 1 select @@version_comment limit 1
2017-02-23 14:47:45 testuser 10.xx.xx.xx NULL 0ms 1 select USER()
2017-02-23 14:47:48 testuser 10.xx.xx.xx NULL 0ms 13 show databases
2017-02-23 14:47:51 testuser 10.xx.xx.xx NULL 0ms 1 SELECT DATABASE()
2017-02-23 14:47:51 testuser 10.xx.xx.xx mysql 0ms 0 use mysql
2017-02-23 14:47:53 testuser 10.xx.xx.xx mysql 0ms 29 show tables
2017-02-23 14:47:54 testuser 10.xx.xx.xx mysql 0ms 1 select 1
2017-02-23 14:48:01 testuser1 10.xx.xx.xx NULL 0ms 0 set autocommit=1
2017-02-23 14:48:01 testuser1 10.xx.xx.xx NULL 0ms 0 set autocommit=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
……
##更多
MySQL Sniffer 更多使用方式以及 Atlas 等其他技术请关注:我们360私有云(HULK平台)平台微信公共号或者加 QQ交流群:104180820
##感谢
感谢yihaoDeng, winkyao对 MySQL Sniffer 的贡献。
https://gitee.com/qihoo360git/mysql-sniffer
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
项目名称:高性能MySQL协议抓包工具 - MySQL Sniffer 开发语言:主要以C语言为主,辅以C++扩展。 文件组成:总共有71个文件,包括: - C源文件:19个 - 头文件:15个 - 配置文件:5个 - C++源文件:3个 - 文本文件:2个 - Markdown文档:2个 - Git忽略配置:1个 - 许可证文件:1个 - 库文件:1个 - 更改记录:1个 项目简述: MySQL Sniffer是一个高效、实用的抓包工具,专门针对MySQL协议设计。它能够实时捕捉到MySQL服务器端或客户端的请求,并以友好的格式输出抓取内容。输出信息详尽,包括但不限于访问时间、用户、来源IP、数据库、命令执行耗时、返回的行数以及具体的执行语句等。此外,该工具支持批量抓取,极大地便利了用户对MySQL数据库的监控和分析工作。
资源推荐
资源详情
资源评论
收起资源包目录
upload.zip (72个子文件)
include
nids.h 4KB
README_CN.md 4KB
CMakeLists.txt 272B
lib
libnids.a 181KB
src
session.cpp 4KB
CMakeLists.txt 1KB
sniff-log.h 597B
util.c 795B
mysql-dissector.c 19KB
sniff-config.h 735B
util.h 754B
sniff-log.cpp 7KB
mysql-dissector.h 3KB
sniff-config.cpp 10KB
session.h 3KB
main.c 5KB
libnids-1.24
configure 171KB
CHANGES 6KB
MISC 3KB
README 3KB
aclocal.m4 36KB
Makefile 400B
src
Session.vim 1KB
libnids.3.mdoc 11KB
killtcp.c 3KB
tcp.h 718B
config.h.in 2KB
hash.c 2KB
Makefile 3KB
tcp_conn_pool.c 7KB
scan.c 3KB
util.c 1KB
libnids.c 20KB
scan.h 475B
nids.h 4KB
util.h 816B
ip_options.c 6KB
tcp_conn_pool.h 1KB
checksum.c 7KB
config.h 2KB
Makefile.in 3KB
checksum.h 278B
hash.h 300B
tcp.c 39KB
ip_fragment.h 374B
tcp.c.orig 26KB
libnids-track-established.patch 12KB
libnids.3 14KB
ip_fragment.c 18KB
allpromisc.c 890B
mkinstalldirs 649B
samples
overflows.c 6KB
nids_next.c 907B
Makefile 812B
logfile 0B
sniff.c 2KB
chksum_ctl.c 2KB
Makefile.in 752B
printall.c 6KB
config.status 29KB
configure.in 6KB
config.sub 27KB
tags 43KB
Makefile.in 428B
config.guess 38KB
CREDITS 6KB
install-sh 5KB
config.log 22KB
COPYING 18KB
LICENSE 1KB
.gitignore 251B
readme.txt 4KB
共 72 条
- 1
资源评论
沐知全栈开发
- 粉丝: 4744
- 资源: 3374
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功