通俗易懂!什么是抓包?哪些场景需要用到?Fiddler 抓包原理及移动端抓包教程

2024-07-14
来源:网络整理

目录

前言

在这篇文章中,博主想用通俗易懂的语言让大家明白以下几点:

什么是抓包?什么场景需要抓包?抓包的原理。如何使用它在移动设备上抓包?抓包

包()是TCP/IP协议通讯传输的数据单位,也一般被称为“数据包”。

我们在测试过程中通常提到的数据包其实就是接口请求的数据,在HTTP请求中包括了请求头信息、请求内容、响应头信息、响应内容。

什么是数据包捕获?

使用特定的工具获取客户端与服务端之间发送和返回的数据包,目的是分析数据包的协议和内容,从而判断接口设计是否符合要求,比如抓取一次请求的请求参数和响应参数,检查参数是否正确。

抓包视频教程:全网最详细的抓包教程,上最详细的抓包教程视频,2小时学会

哪些场景需要用到抓包?

对于初学者或者没有接触过接口测试的同学来说,可能不太明白为什么做接口测试或者接口自动化测试的时候,一定要学会抓取接口数据。

那么什么场景需要抓包获取请求数据呢?

重现Bug,并抓取数据来定位问题;

在确定问题是前端bug还是后端bug时;

当做接口测试但开发商没有提供接口文档时,需要抓包获取接口信息;

当我们不知道某个功能场景或者某些功能场景下会调用哪些接口,或者不知道接口的调用顺序时;

当需要修改返回参数时(用于mock或者其他场景)

在实际测试中,最常用的场景是1、2、3、4。

抓包工具有很多种,比如,,,,浏览器工具(F12)等等,但是在软件测试工作中,抓包对象一般是HTTP协议的接口,所以最常见的就是浏览器工具,,。

其特点简单概括如下:

能够捕获客户端与服务器之间的HTTP请求,在接口请求上设置断点,甚至修改输入和输出数据

只能抓取 HTTP/协议

除了PC浏览器抓包外,还支持移动端抓包

抓包原理

通常我们用浏览器浏览网页,或者使用手机APP,其交互可以用以下简化的流程图来表示:

客户端(PC或者手机)通过发送HTTP请求与服务端进行数据交换,我们的要求就是在这个交互过程中捕获到数据。

我们只需要在客户端和服务端之间增加一个中介,让他们之间交换的所有数据都经过这个中介,中介会记录经过自身的数据,然后我们就能获取到客户端和服务端具体的交互数据了。

它可以充当这个中介角色,其互动过程如下:

启动其实就是启动了一个代理web服务器(),代理地址是127.0.0.1,端口是8888,只要通过127.0.0.1:8888(也就是本机)发送和接收HTTP请求,经过自身的HTTP请求数据就会被记录下来,从而捕获HTTP请求的相关数据。

数据包怎么安装手机_安卓数据包安装_安装包和数据包怎么用

如何才能让所有的HTTP请求都经过127.0.0.1:8888呢?IE浏览器启动时,代理会自动设置127.0.0.1:8888为代理地址,需要在浏览器中手动修改,移动端需要在手机中设置。

安装

前往官方网站下载,

必填内容如下填写即可,系统点击【为】,点击后页面会跳转并开始下载(若没有下载可以多试两次),若没有下载,可根据跳转页面提示点击即可。

下载后会得到安装文件.exe,可以很轻松的进行安装,目前下载的版本是。

安装完成后打开,主界面如下:

接下来我们来介绍一下如何使用它在手机上进行抓包。

数据包捕获:

上最详细的抓包教程,2小时学会。

移动端抓包

我们先来回顾一下移动端抓包的大致思路:

需要设置允许远程电脑连接,也就是允许手机抓包;

设置移动代理网络代理,使得手机可以通过代理发送HTTP请求(即充当数据发送和接收的中介);

请求抓包设置(如果只抓取http请求的话,上面两步已经足够了,但是实际工作中经常需要抓取请求数据)。

按照上述思路,我们开始进行具体的设置。

步骤 1:允许远程计算机连接

设置步骤:-->-->-->勾选-->点击确定,其余保持默认,如下图:

如果检查完后弹出确认页面,点击【确定】。对了,上面检查页面中的8888是默认端口号,第二步需要用到这个端口号。

第 2 步:设置移动网络代理

首先需要获取安装系统电脑的IPv4地址,在cmd中输入,如下图:

然后在手机上找到对应的WLAN网络,并设置网络代理,以荣耀V20手机为例,操作步骤如下图所示:

手机系统设置-->WLAN-->修改网络-->高级选项-->代理-->选择手动-->输入主机名同之前的IPv4-->输入默认端口8888-->保存

注意:

此时重启后手机上就可以捕获http请求了,如果无法捕获,可以重新在手机上保存上图的代理设置,重新进行请求,完成此步骤后在手机上打开APP,即可捕获http请求,如下图所示:

可以看到这里只捕获了http请求,如果想要捕获请求还需要进行如下操作。

分享