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

Posted 程序员二黑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试必须掌握的抓包工具Wireshark,你会了么?相关的知识,希望对你有一定的参考价值。

大家好,我是二黑,一位专注与测试的秃头人,作为软件测试工程师,大家在工作中肯定经常会用到各种抓包工具来辅助测试,比如浏览器自带的抓包工具-F12,方便又快捷;比如时下特别流行的Fiddler工具,使用各种web和APP测试的各种场景的抓包分析。但是,今天我要给大家分享的抓包工具,叫做Wireshark,是一款专注于网络封包分析,相比于其他的抓包软件有自己的特色和优势的一款报文捕获工具。

下载安装包

去Wireshark的官网,下载这个工具的安装包:https://www.wireshark.org/download.html

安装

 

 

 

 

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

 

运行软件

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

 

 

 双击打开运行软件:

 

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


1、Wireshark这个工具是基于接口抓包的。
如果电脑主机上有多个网络接口的话,可以点击’标号1‘的按钮,选择对应的网络接口抓取对应的报文。

 

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

 

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

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


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

 

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


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

 根据自己的需求选择保存或者不保存报文,然后工具会清除之前的报文重新开始抓取;区域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。

 

 2)端口过滤:
如过滤80端口,在Filter中输入,tcp.port==80,这条规则是把源端口和目的端口为80的都过滤出来。
使用tcp.dstport==80只过滤目的端口为80的,tcp.srcport==80只过滤源端口为80的包。

 3)协议过滤:
比较简单,直接在Filter框中直接输入协议名即可,如过滤HTTP的协议,TCP协议等。HTTP模式过滤。
如过滤get包,http.request.method=="GET",过滤post包,http.request.method=="POST"。

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

  

报文分析

抓取并且过滤出相应的报文,我们就可以开始进行详细的报文分析了。双击其中一个报文,即可打开这个报文的详细内容,如下图所示:

 

 

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

 

 

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

 

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

 

总结

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

下面分享一下我的软件测试资料

上面是我收集的一些视频和面试题资料,对于软件测试的的朋友来说应该是最全面最完整的面试备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你

关注我的微信公众号【程序员二黑】即可领取软件测试超硬核资源!

总之,学习如逆水行舟,不进则退。想要多高的薪资,就要付出多大的努力。
 

以上是关于软件测试必须掌握的抓包工具Wireshark,你会了么?的主要内容,如果未能解决你的问题,请参考以下文章

网络抓包wireshark(转)

网络抓包wireshark(转)

有没有比 wireshark 和 fiddler 更方便的抓包工具

网络抓包wireshark

学习tcpIp必备的抓包工具wireshark

全网最全的抓包工具的综合对比