软件测试必须掌握的抓包工具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这个抓包工具的基本使用方法,后面我会再出系列文章,详细分析一些大家工作中比较常用的协议,来帮助大家定位和分析测试工作中的问题!
软件测试必须掌握的抓包工具Wireshark,你会了么?的更多相关文章
- 抓包工具Wireshark过滤器
抓包工具WireShark分为两种过滤器: 捕捉过滤器(CaptureFilters) 显示过滤器(DisplayFilters) 捕捉过虑器语法: Protocol Direction Host ...
- socket和抓包工具wireshark
socket和抓包工具wireshark 最近在学习Python代码中的socket和抓包工具wireshark,故又将socket等概念又学习了一遍,温故而知新: Python代码如下: serve ...
- 网络抓包工具-Wireshark学习资料
wireshark一个非常牛逼的网络抓包工具.转载一系列博文 一站式学习Wireshark(一):Wireshark基本用法 一站式学习Wireshark(二):应用Wireshark观察基本网络协议 ...
- 抓包工具Wireshark的使用
WireShark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示网络封包的详细信息. WireShark界面简介 启动WireShark的界面如下: 选择网卡 wireshar ...
- 学习tcpIp必备的抓包工具wireshark
wireshark是一个优秀的抓包工具 ip.src=192.168.10.123 发送http的一端 ip.dst=192.168.10.126 接收http的一端 如下图所示:
- GNS3与抓包工具Wireshark的关联
转至:https://blog.51cto.com/xpleaf/1615145 (一)前言 本博文分享GNS3与Wireshark关联的方法. 显然现在网络上已经有类似的文章分享,而本博文旨在提供更 ...
- Wireshark 网络抓包工具Wireshark的使用
阅读目录 wireshark介绍 wireshark不能做的 wireshark VS Fiddler 同类的其他工具 什么人会用到wireshark wireshark 开始抓包 wireshark ...
- 网络抓包工具wireshark and tcpdump 及其实现基于的libpcap
最近无意中看到博客园中一篇介绍wireshark的文章,写得不错,它简单清楚介绍了wireshark的使用 简介 wireshark以前叫做Ethereal, 在大学时候的网络课程中就常看到它,它是世 ...
- 抓包工具-Wireshark(详细介绍与TCP三次握手数据分析)
功能使用的详细介绍 wireshark(官方下载网站: http://www.wireshark.org/),是用来获取网络数据封包,可以截取各种网络封包,显示网络封包的详细信息,包括http,TCP ...
随机推荐
- UART和RS232/RS485的关系是什么?
串口通讯是电子工程师和嵌入式开发工程师面对的最基本问题,RS232则是其中最简单最常用的通讯方式.但是初学者往往搞不清有关的名词如UART和RS232或RS485之间是什么关系,因为它们经常被放到语句 ...
- Android H5混合开发(4):构建Cordova Jar包
前言 上一节,介绍了原生项目如何嵌入Cordova,我们对Cordova的依赖使用的是CordovaLib Module,这也是安卓项目常用的方式. 但是,也有项目希望以Jar包的方式依赖Cordov ...
- 通俗地说逻辑回归【Logistic regression】算法(一)
在说逻辑回归前,还是得提一提他的兄弟,线性回归.在某些地方,逻辑回归算法和线性回归算法是类似的.但它和线性回归最大的不同在于,逻辑回归是作用是分类的. 还记得之前说的吗,线性回归其实就是求出一条拟合空 ...
- Java HashSet对txt文本内容去重(统计小说用过的字或字数)
Java HashSet对txt文本内容去重(统计小说用过的字或字数) 基本思路: 1.字节流读需要去重的txt文本.(展示demo为当前workspace下名为utf-8.txt的文本) 2.对读取 ...
- 使用Typescript重构axios(九)——异常处理:基础版
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- jquery 数字滚动方法
jquery 数字滚动方法用的是countUp.js这个插件 target = 目标元素的 ID:startVal = 开始值:endVal = 结束值:decimals = 小数位数,默认值是0:d ...
- SD-WAN 本地策略与中心策略配置(三)
目录 1. Localized Policy配置 2. Centralized Policy配置 3. Application Route and Traffice Policy 1. Localiz ...
- CentOS安装图解(在VMware 8上安装)
近期准备学习一下CentOS,打算先在VMware上装一个用于初步了解. 整体步骤如下: 一.获取CentOS安装镜像.可以从以下几个地方获取,顺便提一句,我是从163下载的. 1.CentOS的官方 ...
- ThinkPHP的主从数据库配置
Thinkphp 框架本身是支持读写分离的,如何做呢? 最简单的做法是在配置文件中修改: PHP代码 'DB_TYPE'=> 'mysql', 'DB_DEPLOY_TYPE' => ...
- 南开大学校徽及手写字的Tikz源码
话不多说,直接上内容. % ---------------------------------- % !TeX enginee = pdfLaTeX/XeLaTeX % !TeX encoding = ...