tshark是wireshark的一个命令行工具用于抓包分析:
主要参数如下:
1. 抓包接口类
- -i 设置抓包的网络接口,不设置则默认为第一个非自环接口。
- -D 列出当前存在的网络接口。在不了解OS所控制的网络设备时,一般先用“tshark -D”查看网络接口的编号以供-i参数使用。
- -f 设定抓包过滤表达式(capture filter expression)。抓包过滤表达式的写法雷同于tcpdump,可参考tcpdump man page的有关部分。
- -s 设置每个抓包的大小,默认为65535,多于这个大小的数据将不会被程序记入内存、写入文件。(这个参数相当于tcpdump的-s,tcpdump默认抓包的大小仅为68)
- -p 设置网络接口以非混合模式工作,即只关心和本机有关的流量。
- -B 设置内核缓冲区大小,仅对windows有效。
- -y 设置抓包的数据链路层协议,不设置则默认为-L找到的第一个协议,局域网一般是EN10MB等。
- -L 列出本机支持的数据链路层协议,供-y参数使用。
2. 抓包停止条件
- -c 抓取的packet数,在处理一定数量的packet后,停止抓取,程序退出。
- -a 设置tshark抓包停止向文件书写的条件,事实上是tshark在正常启动之后停止工作并返回的条件。条件写为test:value的形式,如“-a duration:5”表示tshark启动后在5秒内抓包然后停止;“-a filesize:10”表示tshark在输出文件达到10kB后停止;“-a files:n”表示tshark在写满n个文件后停止。(windows版的tshark0.99.3用参数“-a files:n”不起作用——会有无数多个文件生成。由于-b参数有自己的files参数,所谓“和-b的其它参数结合使用”无从说起。这也许是一个bug,或tshark的man page的书写有误。)
3. 文件输出控制
- -b 设置ring buffer文件参数。ring buffer的文件名由-w参数决定。-b参数采用test:value的形式书写。“-b duration:5”表示每5秒写下一个ring buffer文件;“-b filesize:5”表示每达到5kB写下一个ring buffer文件;“-b files:7”表示ring buffer文件最多7个,周而复始地使用,如果这个参数不设定,tshark会将磁盘写满为止。
4. 文件输入
- -r 设置tshark分析的输入文件。tshark既可以抓取分析即时的网络流量,又可以分析dump在文件中的数据。-r不能是命名管道和标准输入。
5. 处理类
6. 输出类
- -w 设置raw数据的输出文件。这个参数不设置,tshark将会把解码结果输出到stdout。“-w-”表示把raw输出到stdout。如果要把解码结果输出到文件,使用重定向“>”而不要-w参数。
- -F 设置输出raw数据的格式,默认为libpcap。“tshark -F”会列出所有支持的raw格式。
- -V 设置将解码结果的细节输出,否则解码结果仅显示一个packet一行的summary。
- -x 设置在解码输出结果中,每个packet后面以HEX dump的方式显示具体数据。
- -T 设置解码结果输出的格式,包括text,ps,psml和pdml,默认为text。
- -t 设置解码结果的时间格式。“ad”表示带日期的绝对时间,“a”表示不带日期的绝对时间,“r”表示从第一个包到现在的相对时间,“d”表示两个相邻包之间的增量时间(delta)。
- -S 在向raw文件输出的同时,将解码结果打印到控制台。
- -l 在处理每个包时即时刷新输出。
- -X 扩展项。
- -q 设置安静的stdout输出(例如做统计时)
- -z 设置统计参数。
7. 其它
- -h 显示命令行帮助。
- -v 显示tshark的版本信息。
- -o 重载选项。
简单使用举例:
tshark -D
tshark -i lo -R "of && (of.type!=3) && (of.type!=2) " -a duration:5 -V > ~/tmp/log
http://blog.csdn.net/sun20082567/article/details/12388685
tshark命令行的使用(转)
原文:http://www.cnblogs.com/softidea/p/5283869.html