Wireshark录制及分析.docx
《Wireshark录制及分析.docx》由会员分享,可在线阅读,更多相关《Wireshark录制及分析.docx(11页珍藏版)》请在冰豆网上搜索。
![Wireshark录制及分析.docx](https://file1.bdocx.com/fileroot1/2023-6/1/2bfeb5ab-d058-4ee7-84bd-03e9d52b8b09/2bfeb5ab-d058-4ee7-84bd-03e9d52b8b091.gif)
Wireshark录制及分析
Wireshark的录制及分析
无线网优中心
2016年06月
1
抓包过滤器
抓包过滤器配置于抓包前,一经应用,Wireshark将只抓取经过抓包过滤器过滤的数据(包或数据帧),其余数据一概不抓。
可以通过CaptureFilter选择常用滤波语句,该语句基于伯克利数据包过滤器(BerkeleyPacketFilter,BPF)的语法,过滤器会对输入进CaptureFilter文本框内的字符串的语法进行检查,不会检查其条件是否满足。
如需了解BPF语法,可查看论文《ANewArchitectureforUser-levelPacketCapture》
2显示过滤器
显示过滤配置抓包之后,此时,Wireshark已抓得所有数据,但只能看到显示滤波器显示的数据。
在抓包开始后“Filter”输入语句就可以进行配置了。
2.1方法一
每条显示过滤器通常都是由若干原词构成,原词之间通过连接符(如and或or等)连接,原词之前可以添加not表示相反的意思,其语法如下:
[not]Expression[and|or][not]Expression…
显示过滤器表达式中条件操作符的作用。
类似于C语言的操作符
简写形式
描述
举例
==
eq
等于
==或
eq
不等于
!
==或
!
=或
ne
高(长、大)于
>64
<
lt
低(短、小)于
<1500
>=
ge
不高(长、大)于
>=64
<=
le
不低(短、小)于
<=1500
ispresent
符合某项参数,满足某个条件,或出现某个现象
contains
包含某个(串)字符
containsbaidu
match
某串字符匹配某个条件
matches
&&
and
逻辑与
==
and
逻辑或
==
or==
逻辑非
notarpandnoticmp
2.2方法二
右键帧信息框中感兴趣的内容,PrepareaFilter–>Select这样就能自动生成对应的过滤器了
3手机抓包法
由于电脑的Wireshark抓包是流经电脑的网络包,而我们感知测试是需要关注由手机基带流出的信息,因此需要用到手机版的Shark。
Sharkforroot设置为“-iany–vv–s0-X”,开始录制。
录制完后会在手机的根目录下生成.Pcap文件,导入电脑用Wireshark分析即可。
4信息统计工具
4.1DNS分析
对于DNS的显示,可以通过在显式滤波器中输入“dns”进行筛选
,DNS查询分为DNS请求和DNS响应。
DNS请求:
Standardquery
DNS响应:
Standardqueryresponse
查看时需要注意,由于可能会有多条DNS查询同时进行,请求信息与响应信息会互相交叠,匹配是需要确认TransactionID是否一致,如图中
对应的TransactionID为“0x7621”。
Figure41
Figure42
如果遇到DNS解析异常的情况需要关注DNS响应消息中的响应代码(RCODE)字段
,上图中该字段值为0,表示DNS解析正常,常见的RCODE字段值及含义如下:
Table41
对于DNS解析所花费的时间,可以借助于WireShark中的IOGraph工具进行查看。
选择Statistics下的IOGraph,在YAxis中的Unit下选择Advanced
,而后在表达式中输入“”
,点击最左测“Graph1”进行显示。
可以看到本次分析的包中平均DNS查询耗时30ms,最长的一次用时80ms。
Figure43
在一般情况下DNS解析时间在100ms之内都为正常;在绝大多数情况下,解析时间在150~200ms之间也算正常;即便偶尔出现DNS解析缓慢的情况,也无需担心,因为极有可能是本地DNS服务器在等待远端的权威名称服务器的应答。
具体情况还是需要分析人员根据实际情况进行判定。
4.2HTTP数据流分析
当完成DNS后接下来要对HTTP数据流进行分析,可以利用“FollowTCPStream”特性来分析HTTP流量。
操作方法:
1.在WireShark抓包主窗口的数据包列表区域中,选择待分析的HTTP数据流中的任意一个数据包,单击右键。
2.选择“FollowTCPStream”项,此时将弹出该数据流的基本信息
Figure44
Ø此次HTTP请求操作使用了GET方式
;
Ø请求该操作的用户浏览器为U0A1G1D2J3T5M8R3
,(这个包是从手机上抓到的,抓包软件是集团感知APP,所以出来的浏览器会显示一个奇怪的名字,如果是电脑上抓一般会是IE、Chorme之类);
Ø用户请求的主机名称为
;
ØHTTP对于此次的响应返回是200OK
,表示HTTP请求正常;
Ø提供业务的服务器为Openresty
;
3.同时在WireShark的显示过滤器中将自动生成过滤公式,如下图
所示,并且数据列表区域将只显示属于该数据流的数据包了。
另外也可以手动于显示过滤器中输入公式,公式的格式为eqX,X的值可以在任意一个HTTP包的TransmissionControlProtocol下的Streamindex查到。
Figure45
4.3排障执行
WireShark内置了一个名为ExpertInfo的工具,它不仅能够在抓包过程中自动识别网络中发生的异常情况,甚至还能够给出导致该异常的具体原因。
选择Analyze菜单,点击下面的ExpertInfo菜单项,ExpertInfo窗口即会弹出。
如图2-6所示,该窗口由Errors、Warmings、Notes、Chats、Details和PachetComments组成。
Errors:
表示Wireshark对于所抓内容识别除的严重错误。
如NewFragmentoverlapsolddata(retransmission?
)表示新的数据与旧的数据重叠,总共出现的次数为4次。
Figure46
Warmings:
表示识别出了一般性问题,如连接重置、报文失序、报文丢失等,这些warming通常反应应用程序问题或者网络通信问题。
像本次抓包中主要的warming有Previoussegmentnotcaptured前一帧未捕获到,thisframeisaout-of-ordersegment报文失序。
对于此类失序情况,建议在各个网络节点上分别设置抓包点,通过各个位置的抓包内容判定失序的引发部位,从而针对性解决。
Figure47
Notes:
表示WireShark检测到可能会引发故障的异常现象,比如,感知到了TCP重传、重复确认。
提醒用户这些数据包有导致错误的嫌疑。
Figure48
Chats:
显示一些符合常规流量的信息,如包含TCPSYN、TCPFIN、TCPRST状态的HTTP事件。
通过ExpertInfos可以快速了解抓包数据中的各类信息数量情况,通过点击信息左侧“+”号,列出详细Packet项,左键单击Packet项即可在WireShark数据包主窗口中定位该包,从而根据上下内容判定具体问题。
5参考书推荐
《WireShark网络分析实战》人民邮电出版社,【以色列】YoramOrzach着,古宏霞孙余强译