Fiddler抓包实战,彻底打通接口测试(一)


前言

Fiddler是一款免费的Windows平台的抓包工具,功能强大,使用简单。Fiddler抓包基于中间人代理模式。

Fiddler在启动时会自动设置系统代理,Chrome浏览器等程序访问网页或发送HTTP请求时,便会自动经过Fiddler发送给服务端,因此Fiddler中便能查看到所有当前PC发送的所有HTTP请求。

Fiddler主要特点如下:
可以抓到请求数据,查看Raw格式/表单格式/JSON/XML格式;
可以拦截和修改请求;
更强大的过滤器;
可以抓取Postman/接口脚本发送的请求,方便调试;
可以抓包手机请求;

Fiddler主界面

Fiddler的主界面分为菜单栏、工具栏、请求列表、快速命令栏、监控面板及状态栏等。

D1

Fiddler菜单栏包括File(文件)、Edit(编辑)、Rules(规则)、Tools(工具)、View(显示)及Help(帮助)。

Fiddler工具栏包括WinConfig(Windows配置)、、Replay(重放)、清理、Go(拦截放行)、Stream(流)、Decode(解码)、Keep: All sessions(请求会话保持)、Any Process(抓取进程)、Find(查找)、Save(保存)、、Browse(浏览器选择)及Clear Cache(清除缓存)。

主体区左侧为请求列表,又称会话列表(客户端与服务端的一次交互被称为一次会话过程)。请求列表中使用不同的图标区分不同类型的会话类型。

常见的会话类型如下图:

D1

D2

D3

注:以上表格使用新版Fiddler的会话图标,HTML格式、XML格式、CSS、脚本、图片等图标与老版本略有不同。

请求图标可以帮助我们快速识别各种类型的请求或相应,GET方法的请求根据不同的响应数据类型显示不同的图标,POST等方法按请求方法类型显示对应的图标。

对于数据量比较大的请求,会在请求和响应的过程中或显示为上传和下载的图标,当使用断点拦截请求或响应时,上传、下载图标显示为暂停的样式。

请求抓包

抓取请求是Fiddler的主要功能之一,Fiddler在启动时会自动设置系统代理,因此只要打开Fiddler就可以正常抓取当前PC端的HTTP请求。要抓取HTTPS请求或移动端请求则要进行相应的配置。

抓取PC端HTTPS请求

打开浏览器访问https://www.baidu.com/查看Fiddler中抓取的请求

D4

未设置和安装证书时抓取到的HTTPS请求显示为锁型图标的HTTP CONNECT请求,转发到对应网站的443端口。

抓取HTTPS请求需要现在设置中勾选捕获HTTPS连接及解密HTTPS数据。操作方法是,点击菜单栏Tools(工具),选择Options(选项),切换到HTTPS面板。

D5

如上图,勾选Capture HTTPS CONNECTs(捕获HTTPS连接)、Decrypt HTTPS traffic(解密HTTPS数据)和Ignore server certificate errors(unsafe)(忽略服务端证书错误)。由于我们需要使用Fiddler提供的免费证书,有可能服务端或报证书错误,忽略即可。

安装Fiddler提供的HTTPS证书。安装方法非常简单,启动Fiddler后,打开浏览器,访问http://localhost:8888/。

D6

点击页面下方的链接FiddlerRoot certificate,下载完成后双击打开,点击安装证书,一路下一步使用默认选项安装即可,安装结束后会弹出提示导入成功。

重启Fiddler,重新访问https://www.baidu.com/。

D7

这时可以抓取到HTTPS类型的请求。点击该请求,右侧点击Inspectors面板,上半部分为请求信息,下半部分为响应信息。木偶人响应信息已编码过,点击Responsebody is encoded.Click to decode.解码查看,选择Raw格式,可以查看到返回的百度网页的源码。

注:如果抓不到包可以检测一下是否勾选了Filter过滤器。

强制关闭Fiddler会导致代理不能正常取消,Fiddler却已关闭,而无法上网的情况。此时重新打开Fiddler,然后正常关闭一次即可自动取消代理。

抓取移动端请求

抓取手机端App发送的HTTP或HTTPS请求,需要手动在手机端设置网络代理为Fiddler代理服务地址,即使手机通过Fiddler代理上网,才能抓取到。

首先手机要与电脑在同一局域网内,比如同一Wi-Fi网络上网。电脑端启动Fiddler(自动启动代理服务,默认端口号为8888),使用ipconfig或ifconfig查看电脑的IP地址,如192.168.1.3,那么Fiddler代理服务的地址即192.168.1.3:8888。

Fiddler中点击菜单栏Tools(工具),选择Options选项,切换到Connections选项卡,勾线Allow remote computers to connect,已允许远程设备连接Fiddler代理服务。

D8

打开手机设置,找到所连接的Wi-Fi网络,选高级(iPhone手机点击Wi-Fi网络后面的圈i图标),配置代理,选择手动,IP地址和端口号分别配置为电脑IP地址和8888,点击保存(存储)。

D9

使用手机浏览器访问http://电脑IP地址:8888(建议使用手机原生浏览器),会显示Fiddler Echo Service页面,同样点击FiddlerRoot certificate,下载并安装证书。

安装完证书后,iPhone手机还需要对证书进行信任,手机设置中点击通用,点击关于本机,点击证书信任设置,设置信任DO_NOT_TRUST_FiddlerRoot证书,返回即可。

此时保持Fiddler打开,使用手机浏览器浏览网站或使用App请求即可,如弹出HTTPS证书不被信任警告,忽略即可。

注:设置完代理有,由于手机需要通过Fiddler代理上网,如果Fiddler关闭手机会连不上网。不抓包时可以在手机设置中把配置代理取消掉。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

不要畏惧失败与挫折,因为它们是成功的踏脚石,只有不断努力奋斗,才能创造属于自己的辉煌。相信自己的能力,坚持追求梦想,你将发现无限的可能与成就等待着你。

每一次努力都是一次积累,每一次坚持都是一次进步,不要停下脚步,不要放弃追求,只有奋斗,才能超越自我,创造属于自己的辉煌人生。相信自己,勇往直前,你一定能够成功。

人生如战场,奋斗是唯一的准则,不要畏惧困难,不要停止追求,只有坚持不懈地努力,才能创造属于自己的辉煌。相信自己的能力,勇往直前,你将成就非凡的壮丽人生。

猜你喜欢

转载自blog.csdn.net/csdnchengxi/article/details/131854170
今日推荐