目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
Fiddler 是一款免费、灵活、操作简单、功能强大的 HTTP 代理工具,是目前最常用的抓包工具之一。
具备的功能:抓取所有的 HTTP/HTTPS 包、过滤会话、分析请求详细内容、伪造客户端请求、篡改服务器响应、重定向、网络限速、断点调试等。
Fiddler 工作原理
Fiddler 抓包实现原理:客户端服务器进行消息交互时,HTTP 客户端设置 Fiddler 作为代理,把 http 请求发送给 Fiddler,Fiddler 再转发给服务器。
同样,服务器返回消息也是先返回给 Fiddler,再由 Fiddler 转发给客户端。就像两个人聊天会通过一个中间人传话,这个中间人就是 Fiddler,他自然什么都知道。
下载与安装
Fiddler 安装就不多说了,官网下载,直接安装即可
HTTPS 证书安装:
默认状态下,Fiddler 只能监听 HTTP 请求。比如我们打开百度官网https://www.baidu.com/,然后去Fiddler查看。
想要抓取 HTTPS 请求包,需要先进行设置。路径:Tool–Options–HTTPS,勾选如下选项。
点击第 4 步 Actions 时选择‘Export Root Certificate to Desktop’,弹出提示
配置手机抓包
如果我们想要抓取手机上的 HTTP 请求,还需要在手机上进行配置。要注意的是,苹果和安卓的配置方法有很多差异。安卓手机的不同品牌、同品牌的不同型号,配置方法大同小异。下面以安卓手机为例。
1、确保手机和运行 fiddler 的电脑使用的是同一个子网,比如使用同一个 wifi 信号连接
2、设置 Fiddler,允许远程机器连接自己,点击菜单 option,点击 connections 标签,勾选 Allow remote computer to connect, 如下所示
3、打开手机 wifi,选择当前的 wifi,点击修改网络,点击“代理设置”,主机名和端口输入 Fiddler 所在机器的 ip 地址(通过 ipconfig 查看)和代理端口 8888。
此时,我们在手机上打开百度,可以看到 Fiddler 成功监控了,但是无法对 HTTPS 会话解密,要想用 Fiddler 抓取手机上的 HTTPS 数据包,还需要在手机下载并安装 Fiddler 根证书。
手机下载 Fiddler 根证书:
根证书地址:http://代理服务器地址:8888/FiddlerRoot.cer
下载完成后,进行安装。
以我的手机为例,安装时系统会提示‘出于安全考虑,请去“设置”里安装’。
路径为:设置–安全与隐私–更多安全设置–从手机存储安装–CA 证书,不同手机路径可能不同,自己找下。
此时,Fiddler 就已经可以抓取手机端发送到服务端的所有 HTTP/HTTPS 协议了
这样,手机抓包的就算配置成功了,需要注意的是‘防火墙需要允许 Fiddler 进程可以远程链接’。
补充:解决Android7以上抓包失败问题
此外,在过程中发现,环境都配置好之后,还是会出现APP抓HTTPS抓不到的情况(Android7以上系统),有可能是App内置证书的问题 – SSL Pinning 机制(也可称为证书绑定)
备注:
需要设置过滤条件,在过滤器里面设置
类型过滤,一般对各种图片、CSS、JS这类的静态素材也不需要看的情况下,直接全部过滤掉
.*\.(bmp|css|js|gif|ico|jp?g|png|swf|woff)
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
只有付出才能收获,只有奋斗才能成功;不要在困难面前退缩,努力闯过每个难关;相信自己的潜力,勇往直前,你一定能够创造属于自己的辉煌!
奋斗是成功的阶梯,每一步都坚定向前,不论困难与挫折。唯有坚持不懈,才能追逐梦想的光芒,成就辉煌的未来。相信自己,勇往直前,奋斗出属于自己的辉煌篇章!
只有拼尽全力,才能看到自己的无限可能;只有奋斗不息,才能抵达成功的彼岸。不要害怕困难与挑战,相信自己的坚持与努力,你定能迎接辉煌的未来!