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. 2015/7/6 (!长期更新!)C语言从零——张呵呵

    随即呈上! By    He_He _S 小组 @成都七中高新OI2015

  2. debian 学习记录-3 -关于linux -1

    来源:<Debian标准教程>王旭 著 芬兰人Linus Trovalds 1991年1月2日····   2006年初发布内核2.6.15 使用Andrew Tanenbaum < ...

  3. js中的in-for循环

    <!doctype html><html lang="en"> <head> <meta charset="UTF-8" ...

  4. grunt学习

    有些时候,项目中的静态资源,比如图片占用的文件有点大,影响加载的速度,所以会选择grunt对其进行压缩打包.对于grunt其他的用法,还在继续学习中,先记录下关于grunt的一些学习. grunt是一 ...

  5. ASP.NET 实现简单的图片防盗链介绍

    在此,网站图片防盗链的方法是,通过获取Http请求头中的 Referer 标头与本网站域名比较,来判断用户是否来自本站跳转过来的 . 创建一个全局处理程序,用来处理images目录下的图片的直接请求: ...

  6. Hash算法初见

    hash算法 (hashmap 实现原理)   Hash ,一般翻译做“ 散列” ,也有直接音译为“ 哈希” 的,就是把任意长度的输入(又叫做预映射, pre-image ),通过散列算法,变换成固定 ...

  7. php中的数组定义和使用

    <?php //这个是一个php关于数组的例子,简要的说明了数组的基本使用 //定义一个字符串数组 $fruit = array(\"apple\",\"orang ...

  8. PHP开发圣经读书笔记01

    从今天开始,以“圣经”这本书为教材,系统的温习一下php,之前都是看视频学的. 1.访问表单变量--php变量名称必须与表单域的名称一致 例:$_POST['uname'];  //表示把表单域中na ...

  9. 用 BPL 封装数据连接

    BPL 代码: uDM.pas unit uDM; interface uses SysUtils, Classes, uIntf, DB, ABSMain; type TDM = class(TDa ...

  10. Class.forName()的作用与使用总结(转载)

    转载自:Class.forName()的作用与使用总结 1.Class类简介: Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识.这项信息纪录了每个对象所属的类.虚拟机 ...