yum install -y wireshark

最近才发现,原来wireshark也提供有Linux命令行工具-tshark。tshark不仅有抓包的功能,还带了解析各种协议的能力。下面我们以两个实例来介绍tshark工具。

tshark -s 512 -i eth0 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e mysql.query

-s 512 :只抓取前512个字节数据
-s 捕获快照长度 设置默认的快照长度来使用 当捕获实时数据。 顶多每个网络包的快照长度字节会被读入到内存或者保存到磁盘。 一个值为65536,那么整个包会被捕获 这是默认的 这个选项可以发生很多次, -n 禁用网络对象名字解析(比如主机名,TCP和UDP 端口名字) -f <capture filter> Set the capture filter expression. 设置捕获过滤器表达式 -f 'tcp dst port 3306' :只捕捉协议为tcp,目的端口为3306的数据包 tshark -i eth1 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e mysql.query -R 'mysql.query' :过滤出mysql.query -T fields -e mysql.query :打印mysql查询语句 -e 字段 增加一个字段到字段的列表来显示 如果 -F 字段是选择的,这个选项可以使用多次在命令行 至少一个字段是必须提供的 tshark -s 65536 -n -i eth0 -R 'mysql.query' -T fields -e "ip.src" -e "mysql.query" tshark -s 65536 -n -i eth1 -R 'mysql.query' -T fields -e "ip.src" -e "mysql.query" zabbix:/root# tshark -s 65536 -n -i eth1 -f 'tcp dst port 3306' -R 'mysql.query||mysql.user' -T fields -e ip.addr -e tcp.port -e frame.time -e mysql.user -e mysql.query tshark -i eth1 -n -f 'tcp dst port 3306' -R 'mysql.query matches "^(?!(?i)select).*" || mysql.user' -T fields -e ip.addr -e tcp.port -e frame.time -e mysql.user -e mysql.query tshark -s 65536 -n -i eth1 -f 'tcp dst port 3306' -R 'mysql matches "delete|DELETE|Delete|UPDATE|update|Update|insert|INSERT|Insert"' -T fields -e ip.addr -e tcp.port -e frame.time -e mysql.user -e mysql.query 抓包: Vsftp:/data02/audit# tshark -s 65536 -n -i eth1 -f 'tcp dst port 3306' -R 'mysql matches "delete|DELETE|Delete|UPDATE|update|Update|insert|INSERT|Insert"' -T fields -e ip.addr -e tcp.port -e frame.time -e mysql.user -e mysql.query
Running as user "root" and group "root". This could be dangerous.
Capturing on eth1 192.168.11.185,192.168.11.187 47677,3306 Dec 7, 2016 15:21:24.751464505 delete from t1
192.168.11.185,192.168.11.187 47677,3306 Dec 7, 2016 15:21:25.302466232 delete from t1
192.168.11.185,192.168.11.187 47677,3306 Dec 7, 2016 15:21:25.767454007 delete from t1 mysql 5.6版本有源IP和源端口 但是mysql 5.1 版本就比较特殊: 192.168.5.17 3306 Dec 7, 2016 15:25:12.290737000 delete from async_message where id=598756
192.168.5.17 3306 Dec 7, 2016 15:25:12.291717000 UPDATE real_time_room_sta SET is_live='F' WHERE hotel_group_id=1 and hotel_id=555
192.168.5.17 3306 Dec 7, 2016 15:25:12.294355000 UPDATE real_time_room_sta SET is_live='T' WHERE hotel_group_id=1 and hotel_id=555 AND rmno IN('201','202','209','223','225','237','253','255','269')
504 packets captured
[root@pms-db-bf audit]# tshark -s 65536 -n -i eth0 -f 'tcp dst port 3306' -R 'mysql matches "(?i)delete|update|insert"' -T fields -e ip.addr -e tcp.port -e frame.time -e mysql.user -e mysql.query 就抓不到源端口和源IP tshark -s 65536 -n -i eth1 -f 'tcp dst port 3306' -R 'mysql matches "(?i)delete|update|insert"' -T fields -e ip.addr -e tcp.port -e frame.time -e mysql.user -e mysql.query 原因 tshark 版本不同: Vsftp:/data02/audit# tshark -version
TShark 1.8.10 (SVN Rev Unknown from unknown) [root@pms-db-bf sbin]# tshark -version
TShark 1.0.15 CentOS 5.8 升级tshark Vsftp:/data02/audit# rpm -qa | grep wireshark
wireshark-1.8.10-17.el6.x86_64 [root@pms-db-bf sbin]# rpm -qa | grep wireshark
wireshark-1.0.15-7.el5_11

tshark 使用说明的更多相关文章

  1. tshark使用说明

    tshark -h TShark (Wireshark) (v2.-gf42a0d2b6c) Dump and analyze network traffic. See https://www.wir ...

  2. Atitit.项目修改补丁打包工具 使用说明

    Atitit.项目修改补丁打包工具 使用说明 1.1. 打包工具已经在群里面.打包工具.bat1 1.2. 使用方法:放在项目主目录下,执行即可1 1.3. 打包工具的原理以及要打包的项目列表1 1. ...

  3. awk使用说明

    原文地址:http://www.cnblogs.com/verrion/p/awk_usage.html Awk使用说明 运维必须掌握的三剑客工具:grep(文件内容过滤器),sed(数据流处理器), ...

  4. “我爱背单词”beta版发布与使用说明

    我爱背单词BETA版本发布 第二轮迭代终于画上圆满句号,我们的“我爱背单词”beta版本已经发布. Beta版本说明 项目名称 我爱背单词 版本 Beta版 团队名称 北京航空航天大学计算机学院  拒 ...

  5. Oracle 中 union 和union all 的简单使用说明

    1.刚刚工作不久,经常接触oracle,但是对oracle很多东西都不是很熟.今天我们来了解一下union和union all的简单使用说明.Union(union all): 指令的目的是将两个 S ...

  6. Map工具系列-02-数据迁移工具使用说明

    所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map ...

  7. Map工具系列-03-代码生成BySQl工具使用说明

    所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map ...

  8. jQuery验证控件jquery.validate.js使用说明

    官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuery plugin: Validation 使用说明 转载 ...

  9. gdbsever 使用说明

    gdbsever 使用说明 在新塘N3292x平台下 编译 gdbsever ./configure --target=arm-linux --host=arm-linux arm-linux-gdb ...

随机推荐

  1. Dorado事件的参数

    onClick,onSuccess 事件一般只有2个参数(self,arg),其实参数是可以添加的.可以把控件的ID直接放到参数里面来,然后在事件编辑里直接通过ID作控件对象,直接设值就好了,不要输入 ...

  2. Colored Linux Man pages

    Colored Linux Man pages 一.什么是Linux Man 参考: 二.如何高效率地使用Man 三.给Linux Man命令添加点颜色. 1.Unix / Linux: Displa ...

  3. 此一生 一个纯js的ajax

    /** * 得到ajax对象 */ function getajaxHttp() { var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp ...

  4. 回溯算法之n皇后问题

    今天在看深度优先算法的时候,联想到DFS本质不就是一个递归回溯算法问题,只不过它是应用在图论上的.OK,写下这篇博文也是为了回顾一下回溯算法设计吧. 学习回溯算法问题,最为经典的问题我想应该就是八皇后 ...

  5. AbstractExecutorService (未完成)

    AbstractExecutorService是一个实现了ExecutorService的抽象类.主要实现了ExecutorService的invoke方法.

  6. ubuntu12.04 U盘自动挂载配置

    Ubuntu12.04禁止U盘等设备的自动挂载方法如下: 在图形界面(字符界面无效)内进入系统终端,ctrl+alt+T或者gnome-terminal 禁止自动挂载:$ gsettings seto ...

  7. Convert.ToInt32()与int.Parse()的区别 (转载)

    Convert.ToInt32()与int.Parse()的区别(1)这两个方法的最大不同是它们对null值的处理:Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Pa ...

  8. 解决使用 Composer 的时候提示输入 Token

    Could not fetch https://api.github.com/repos/RobinHerbots/jquery.inputmask/contents/bower.json?ref=0 ...

  9. Linux文件保护禁止修改、删除、移动文件等,使用chattr +i保护

    不让用户修改.删除文件等,使用 chattr保护 chattr命令的用法:chattr [ -RV ] [ -v version ] [ mode ] files… 最关键的是在[mode]部分,[m ...

  10. vb delphi7、2010 csharp vb.net空白测试程序

    工作中难免在网上看到一段不错的代码,希望能够拿来测试一次,为了避免每次测试都要新建一个空白测试程序,索性预先建立好,要用的时候复制一遍,然后打开直接粘贴需要测试的代码进行测试.