赞
踩
第一篇CSDN博客,是抱着“雨露均撒,泽陂苍生”的态度,气度恢弘;但其实是抱着希望汲取更多的“雨露”的态度来学习的,文中如有错误,欢迎评论区指正。
切入正题,tshark这个工具是由于工作需要偶然接触到的,用着用着就发现,好家伙,这个工具原来这么强大,请听细细道来~~
请自行下载相应的wireshark版本:https://www.wireshark.org/download.html
Windows操作系统:安装wireshark后,tshark也同时被安装,在tshark.exe安装目录处打开命令行,输入命令“tshark”即可运行。
Mac/Linux操作系统:安装wireshark后,直接打开终端输入“tshark” 即可运行。
常用的参数在其它博客会更加齐全,本博客只描述博主使用工程中用到的参数,其它参数不详述,想了解的朋友可以查看官方文档:https://www.wireshark.org/docs/man-pages/tshark.html
-c: <-c n>计算捕获n个数据包后停止(包括空包)。
-e:常与-连用,如果-Tfields选项指定,-e用来指定输出哪些字段,如图所示,-TFields已指定,那么-e这个参数就是用来输出后面的modbus.fun_code字段的,且每输出一个字段,都需要在该字段前添加 -e 参数。
Frame_num:设置行号。
-i:指定捕获接口。
T:-T <pdml|ps|text|fields|psml>,设置解码结果输出的格式,包括text,ps,psml和pdml,默认为text。
> a.txt/a.csv:输出重定向,后加文件名(自动创建)。
当-T之后指定是fields时,领域fields表示的是某特定的字段,但是令人头疼的是你想要获取这个字段,又该怎么表示呢?就比如,你想获取某个tcp源端口号,你输入了”source.port”、“tcp.sourceport”、“tcp_sourceport”等等都不行,瞬间崩溃,又捣腾了很久,发现原来是“tcp.srcport”,又瞬间手舞足狂。但仔细一想,每次都这样去猜、去毫无章法地寻找,太浪费时间了。难道没有人将这一块知识给归纳出来了呢?还真没有。博主再一次对各大网站博客进行“狂轰乱炸”后,发现很多博主都将上面的常用参数的解读归纳得完整通透,然而并没有任何关于领域的总结归纳。“日拱一卒,功不唐捐”。经过连续几天的奋战,博主终于在wireshark官网处找到相关资料,详细资料请点击链接https://www.wireshark.org/docs/dfref/,下面列出博主工程使用的一些领域字段。
modbus个别字段的领域:
modbus.data:modbus数据
modbus.regval:寄存器内容值
modbus.regnum:寄存器地址
modbus.func_code:功能码
icmp、icmpv6个别报文字段的领域(重点以ipv6为例,ipv4同理):
icmpv6.opt.type:选择类型
icmpv6.code:代码
icmpv6. checksum:icmpv6总校验和
icmpv6. .checksum.status:icmpv6校验和状态
icmpv6.nd.na.target_address:目标地址
icmpv6.echo.identifier:返回标识符
icmpv6.echo.sequence_number:返回序列号
tcp个别报文字段的领域:
tcp.srcport:源端口
tcp.dstport:目的端口
tcp.len:长度
tcp.seq:tcp序列号
tcp.ack:tcp确认号
tcp.window_size:窗口大小值
tcp.checksum:tcp总校验和
tcp.checksum.status:tcp校验状态
“吾生也有涯,而知也无涯”。所学所用只是九牛一毛、冰山一角,想记下所有参数、所有领域字段根本不可能也不必要。但是探索路上不容易,不然也不会有感而发写这篇博客作为技术分享,希望本博客可以让众多芊芊学子在获悉这些参数和领域字段的路上少走一些弯路!
文章持续更新中,欢迎交流!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。