tcpump 抓包分析mysql查询

回复 收藏
  1. #!/bin/bash
  2. tcpdump -i eth1 -s 0 -l -w - dst 192.168.0.112 and tcp port 3306 | strings | perl -e '
  3. while(<>) { chomp; next if /^[^ ]+[ ]*$/;
  4.                 if(/^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL)/i) {
  5.                                 if (defined $q) { print "$q\n"; }
  6.                                 $q=$_;
  7.                 } else {
  8.                                 $_ =~ s/^[ \t]+//; $q.=" $_";
  9.                 }
  10. }'
2012-12-18 11:05 举报
已邀请:
0

lyhabc

赞同来自:

-l  对标准输出进行行缓冲(nt: 使标准输出设备遇到一个换行符就马上把这行的内容打印出来).在需要同时观察抓包打印以及保存抓包记录的时候很有用. 比如, 可通过以下命令组合来达到此目的:
    ``tcpdump  -l  |  tee dat'' 或者 ``tcpdump  -l   > dat  &  tail  -f  dat''.(nt: 前者使用tee来把tcpdump 的输出同时放到文件dat和标准输出中, 而后者通过重定向操作'>', 把tcpdump的输出放到dat 文件中, 同时通过tail把dat文件中的内容放到标准输出中)

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: