wireshark之tshark命令大全

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

wireshark之tshark命令大全
tshark就不用我介绍了,这里只是介绍下tshark的命令,方便大家使用或进行二次开发原文:
/s/blog_6a00518c0100xevk.html基本语法:tshark [ -a <capture autostop condition> ] ... [ -b <capture ring buffer option>] ... [ -B <capture buffer size (Win32 only)> ] [ -c <capture packet
count> ] [ -d <layer
type>==<selector>,<decode-as protocol> ] [ -D ] [ -f <capture filter> ] [ -F <file format> ] [ -h ] [ -i
<capture interface>|- ] [ -l ] [ -L ] [ -n ] [ -N <name resolving flags> ] [ -o <preference setting> ] ... [ -p ] [ -q ] [ -r <infile> ] [ -R <read (display) filter> ] [ -s <capture snaplen> ] [ -S ] [ -t ad|a|r|d ] [ -T
pdml|psml|ps|text ] [ -v ] [ -V ] [ -w <outfile>|- ] [ -x ] [ -X <eXtension option>] [ -y <capture link type> ] [ -z
<statistics> ] 根据试验,参数的书写有讲究。

模仿tcpdump,可以把抓包过滤表达式写在命令的最后。

一般将抓包表达式用引号quote起来(在windows上是双引号"),一是为了视觉方便,一是为了逃避其中字符和shell语法的冲突(如“>”,“||”等)。

抓包过滤表达式也可以写在
-f参数的后面,注意,此时更应该使用引号或者将-f放在最后。

否则,它们会认为-f(可省)后面的参数都是表达式的一部分,而导致命令格式混乱。

主要参数分类含义权作解说如下:-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. 处理类-R 设置读取(显示)过滤表达式(read filter expression)。

不符合此表达式的流量同样不会被写入文件。

注意,读取(显示)过滤表达式的语法和底层相关的抓包过滤表达式语法不相同,它的语法表达要丰富得多,请参考/docs/dfref/和/docs/man-pages/ethereal-filter.4.html。

类似于抓包过滤表达式,在命令行使用时最好将它们quote 起来。

-n 禁止所有地址名字解析(默认为允许所有)。

-N 启用某一层的地址名字解析。

“m”代表MAC层,“n”代表网络层,“t”代表传输层,“C”代表当前异步DNS查找。

如果
-n和-N参数同时存在,-n将被忽略。

如果-n和-N参数都不写,则默认打开所有地址名字解析。

-d 将指定的数据按有关协议解包输出。

如要将tcp 8888端口的流量按http解包,应该写为“-d tcp.port==8888,http”。

注意选择子和解包协议之间不能留空格。

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 重载选项。

相关文档
最新文档