1、目的
写这篇博客的目的主要是为了方便查阅,使用wireshark可以分析数据包,可以通过编辑过滤表达式来达到对数据的分析;但我的需求是,怎么样把Data部分导出来,因为后续的工作主要针对数据包的Data部分,主要是对本地存储的.pcap文件进行解析。这时候就会使用到tshark命令行工具,可以通过命令提取自己想要的数据,可以重定向到文件,也可以结合上层语言比如Java,来调用命令行,实现对数据的处理!
下面我会从 相关实例、选项介绍、部分实例运行结果 进行概括!
2、首先我们先来看一下网上的一些例子,我对这些例子进行了整理,并给出了说明。
//打印http协议流相关信息
tshark -s 512 -i eth0 -n -f 'tcp dst port 80' -R 'http.host and http.request.uri' -T fields -e http.host -e http.request.uri -l | tr -d '\t'
注释:
-s: 只抓取前512字节;
-i: 捕获eth0网卡;
-n: 禁止网络对象名称解析;
-f: 只捕获协议为tcp,目的端口为80;
-R: 过滤出http.host和http.request.uri;
-T,-e: 指的是打印这两个字段;
-I: 输出到命令行界面;
//实时打印当前mysql查询语句
tshark -s 512 -i eth0 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e mysql.query
注释:
-R: 过滤出mysql的查询语句;
//导出smpp协议header和val