Wireshark教程

avatar 2019年12月4日15:06:17来源:柠檬班软件测试Wireshark教程已关闭评论

作为软件测试工程师,大家在工作中肯定经常会用到各种抓包工具来辅助测试,比如浏览器自带的抓包工具-F12,方便又快捷;

比如时下特别流行的Fiddler工具,使用各种web和APP测试的各种场景的抓包分析。

但是,今天我要给大家分享的抓包工具,叫做Wireshark,是一款专注于网络封包分析,相比于其他的抓包软件有自己的特色和优势的一款报文捕获工具。

一、下载安装包

去Wireshark的官网,下载这个工具的安装包:

https://www.wireshark.org/download.html

软件测试必须掌握的抓包工具Wireshark,你会了么?

二、安装

软件测试必须掌握的抓包工具Wireshark,你会了么?
软件测试必须掌握的抓包工具Wireshark,你会了么?

选择创建桌面快捷方式。

软件测试必须掌握的抓包工具Wireshark,你会了么?
软件测试必须掌握的抓包工具Wireshark,你会了么?
软件测试必须掌握的抓包工具Wireshark,你会了么?

然后,一路next安装,最后重启一下电脑,就可以安装成功!

三、运行软件

安装完成之后,找到这个文件的桌面快捷方式

软件测试必须掌握的抓包工具Wireshark,你会了么?

双击打开运行软件

软件测试必须掌握的抓包工具Wireshark,你会了么?

打开即可看到如上图的界面。我们来认识一下这个软件的基本界面。

1、Wireshark这个工具是基于接口抓包的。

如果电脑主机上有多个网络接口的话,可以点击’标号1‘的按钮,选择对应的网络接口抓取对应的报文。 ![1574908565347](C

软件测试必须掌握的抓包工具Wireshark,你会了么?

如上是点击按钮1 出现的所有接口列表,一般选择自己的上网的接口,或者关心的流量通过的接口,然后点击’开始‘按钮,即可开始抓包。

2、除了上面的方法开始抓包之外,还可以在2区域+3按钮开始抓包。

在区域2,也可以看到所有的网络接口,同样选择自己需要抓取的接口,然后点击按钮3,也可以开始抓取报文。

#### 抓包

经过上述操作之后,Wireshark工具已经开始抓取报文了,此时用浏览器访问你测试的web页面,交互的报文就会被全部抓取,如下图所示。

软件测试必须掌握的抓包工具Wireshark,你会了么?
软件测试必须掌握的抓包工具Wireshark,你会了么?

首先,来认识一下页面上方的几个常用功能。

区域1,表示当前工具正在捕获报文,在抓包进行时;区域2有两个按钮,红色的按钮,表示停止抓包,点击后即可停止捕获;绿色按钮,表示重新抓取报文,点击后会提示是否保存:

软件测试必须掌握的抓包工具Wireshark,你会了么?

根据自己的需求选择保存或者不保存报文,然后工具会清除之前的报文重新开始抓取;区域3,是为了过滤用户关心的报文,有一定的过滤规则。我们来罗列一些常用的过滤使用方法。

1)过滤源IP以及目的IP:

在wireshark的过滤规则框Filter中输入过滤条件。

如查找目的地址为120.24.89.47 的包,ip.dst==120.24.89.47;查找源地址为192.168.1.37的包,ip.src==192.168.1.37。

软件测试必须掌握的抓包工具Wireshark,你会了么?

2)端口过滤:

如过滤80端口,在Filter中输入,tcp.port==80,这条规则是把源端口和目的端口为80的都过滤出来。

使用tcp.dstport==80只过滤目的端口为80的,tcp.srcport==80只过滤源端口为80的包。

软件测试必须掌握的抓包工具Wireshark,你会了么?

3)协议过滤:

比较简单,直接在Filter框中直接输入协议名即可,如过滤HTTP的协议,TCP协议等。HTTP模式过滤。

如过滤get包,http.request.method=="GET",过滤post包,http.request.method=="POST"。

软件测试必须掌握的抓包工具Wireshark,你会了么?

4)连接符and的使用。

过滤两种条件时,使用and连接,如过滤ip为192.168.1.37并且为tcp协议的,ip.src==192.168.1.37 and tcp。

软件测试必须掌握的抓包工具Wireshark,你会了么?

四、报文分析

抓取并且过滤出相应的报文,我们就可以开始进行详细的报文分析了。

双击其中一个报文,即可打开这个报文的详细内容,如下图所示:

软件测试必须掌握的抓包工具Wireshark,你会了么?

第一层Frame I:TCP/IP 协议栈中的物理层

第二层Ethernet II:TCP/IP 协议栈中的数据链路层,也就是现实网卡的源目MAC地址,依据这部分信息来做二层转发;

软件测试必须掌握的抓包工具Wireshark,你会了么?

第三层Internet Protocol : TCP/IP 协议栈中的网络层,发明了IP协议,所以报文在这一层会带上源目IP地址。

软件测试必须掌握的抓包工具Wireshark,你会了么?

第四层 Transmission Control Protocol: TCP/IP 协议栈中的传输层,定义了TCP协议和UDP协议,以及定义了端口的概念。所以在这一层的安博文,会带上协议的源目端口。

软件测试必须掌握的抓包工具Wireshark,你会了么?

五、总结

以上是Wireshark这个抓包工具的基本使用方法,后面我会再出系列文章,详细分析一些大家工作中比较常用的协议,来帮助大家定位和分析测试工作中的问题!

avatar