加入收藏 | 设为首页 | 会员中心 | 我要投稿 锡盟站长网 (https://www.0479zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 搜索优化 > 正文

如何运用mysqlsniffer捕获SQL语句

发布时间:2022-02-11 14:14:15 所属栏目:搜索优化 来源:互联网
导读:本篇内容主要讲解如何使用mysqlsniffer捕获SQL语句,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习如何使用mysqlsniffer捕获SQL语句吧! MySQL5.1之前general log不能在运行时启用或禁用,有时想捕捉SQL来查找
       本篇内容主要讲解“如何使用mysqlsniffer捕获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,eth2,lo等。
 
当然也有人直接tcpdump来捕捉的,方法如下:[@more@]
 
tcpdump -i eth2 -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.=" $_";
 }
}'
 
到此,相信大家对“如何使用mysqlsniffer捕获SQL语句”有了更深的了解,不妨来实际操作一番吧!

(编辑:锡盟站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!