mysql抓包sql_使用mysqlsniffer捕获SQL语句

MySQL5.1之前general log不能在运行时启用或禁用,有时想捕捉SQL来查找问题就很麻烦,偶然间发现一个很不错的小工具:mysqlsniffer,可以用来捕捉SQL语句,使用帮助如下:

mysqlsniffer --help

mysqlsniffer v1.2 - Watch MySQL traffic on a TCP/IP network

Usage: mysqlsniffer [OPTIONS] INTERFACE

OPTIONS:

--port N Listen for MySQL on port number N (default 3306)

--verbose Show extra packet information

--tcp-ctrl Show TCP control packets (SYN, FIN, RST, ACK)

--net-hdrs Show major IP and TCP header values

--no-mysql-hdrs Do not show MySQL header (packet ID and length)

--state Show state

--v40 MySQL server is version 4.0

--dump Dump all packets in hex

--help Print this

Original source code and more information at: http://hackmysql.com/mysqlsniffer

INTERFACE是指网卡号,如eth0,eth1,lo等。

当然也有人直接tcpdump来捕捉的,方法如下:

tcpdump -i eth1 -s 0 -l -w - dst port 3306 | strings | perl -e '

while(<>) { chomp; next if /^[^ ]+[ ]*$/;

if(/^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER)/i) {

if (defined $q) { print "$qn"; }

$q=$_;

} else {

$_ =~ s/^[ t]+//; $q.=" $_";

}

}'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值