[TOC]
### Fiddler 抓包原理介绍
- Fiddler是强大的抓包工具,抓包原理是在客户端和服务器之间建立一个`代理服务器`,监听本机发出的请求和服务器返回的响应结果。
- Fiddler代理服务器的地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改端口。
- Fiddler可以抓取支持http代理的任意程序的数据包,如果要抓取https会话,要先安装证书。
![](https://box.kancloud.cn/c8cae7e336e039aca067fff9953ae8ef_838x262.jpg)
:-: 浏览器 < -> Fiddler < -> 服务器
- 基于Fiddler代理服务器的工作原理,在Fiddler中可以`捕获`、`拦截`、`篡改`客户端发送的请求数据。同理,服务器返回的响应数据,在Fiddler也可以将数据`捕获`、`拦截`或`篡改`,再返回给客户端。
### 抓包测试的意义
1. 定位BUG属于前端还是后端
举例:假如我们在测试登录功能时,前端提示“请输入正确的用户名和密码”,仅仅通过界面提示我们只能描述bug表象,但不能分析出问题原因。通过我们抓包,检查请求信息和响应信息,假如发现请求参数中参数名错误或参数值不正确,这个时候我们将bug指向前端开发人员,假如请求信息完全符合接口要求,响应信息中响应内容不正确,这个时候我们将bug指向后端开发人员。
<br>
2. 通过抓包,帮助我们了解某个业务中客户端和服务端是通过哪些接口进行交互,更好了解代码逻辑。
### Fiddler 安装
Fiddler官网:[https://www.telerik.com](https://www.telerik.com)
从官网中下载安装Fiddler即可,安装后在安装目录下,双击‘Fiddler.exe’即可启动,如下:
![](https://box.kancloud.cn/7b1d75c27f114212201f95cc1556a643_1353x701.jpg)
### Fiddler 抓包配置
Fiddler安装后,设置的端口默认为8888,当Fiddler启动后,默认将IE的代理设为了127.0.0.1:8888,而其他如**火狐浏览器**需要手动设置代理后才可以抓包,一般建议使用`Chrome浏览器`进行测试,Chrome会使用IE的代理,无需设置。
#### WEB浏览器配置:
要使用Fiddler进行抓包,首先需要确保Capture Traffic是开启的(安装后是默认开启的),勾选File->Capture Traffic,也可以直接点击Fiddler界面左下角的图标开启和关闭抓包。
所以基本上不需要做什么配置,安装后启动Fiddler,使用`Chrome浏览器`访问待测网站,就可以进行HTTP抓包了
#### HTTPS配置
对HTTPS协议进行抓包,需要额外配置Fiddler,如下:
1. 打开Fiddler-【Tools】-【Fiddler Option】,切换到HTTPS选项卡,勾选【Capture HTTPS CONNECTs】和【Decrypt HTTPS traffic】,
2. 点击【Actions】-【Trust Root Certificate】,然后按照提示一路yes,直到弹框提示“Trust Cert success”点击确定后,
3. **重启Fiddler**就可以抓取HTTPS协议的数据包了。
![](https://box.kancloud.cn/07f46f672dd6c1daf3aa9908d342952b_540x360.jpg)
![](https://box.kancloud.cn/543222bd1cdb8ddc6869a96f1e29ced8_380x156.jpg)
#### Android手机抓包配置
- [x] 确保手机和Fiddler所在主机在同一个局域网中
- [x] 获取Fiddler所在主机的ip地址,通过cmd命令进入命令编辑器,输入ipconfig -all,找到IPv4地址,记下该地址
![](https://box.kancloud.cn/8de975d9aeb1b796fa9255525b3d02e3_829x239.jpg)
这里,小编的Fiddler所在主机ip为:192.168.0.106,后面会在手机中用到这个ip
- [x] 对手机所连接的无线网络进行设置,点击WLAN,长按与Fiddler所在主机在同一个局域网的wifi,长按点击【修改网络】,选中【显示高级选项】,代理设置为手动,输入代理服务器的主机名和端口后保存。代理服务器的主机名即Fiddler所在主机中的IPv4地址,端口为Fiddler上配置的端口(默认为8888),可以到Fiddler菜单栏中【Tool】-【Fiddler Option】的【Connections】中查看
![](https://box.kancloud.cn/48eeeca445e38a75f5d59e35f450d24e_334x567.jpg)
- [x] 在Fiddler中,确保在Fiddler-【Tools】-【Fiddler Option]-[Connection]中【Allow remote computers to connect】已经勾选上,若没有勾选,则需要勾选后保存并重启Fiddler。
![](https://box.kancloud.cn/7e9e1b96c1a1ef221b715bb32416790d_539x359.jpg)
- [x] 在手机浏览器上输入:http://IPv4地址:端口(例如:http://192.168.0.106:8888),点击【FiddlerRoot certificate】下载安装Fiddler证书
![](https://box.kancloud.cn/bd745bc1a50e19492b85f20e23c2f301_340x394.jpg)
- [x] 此时我们打开手机上的浏览器或APP,可以在Fiddler上看到手机上的数据包了。
#### iOS手机抓包配置
基本与andriod的配置方法一致,除了安装证书方式与andriod略有不同,另外ios在下载证书后,需要**手动信任证书**。设置方法:打开【设置】-【通用】-【关于本机】-【证书信任证书】,找到对应的证书,启用即可。
<hr style="margin-top:100px">
:-: ![](https://box.kancloud.cn/331f659e8e6cddb0d9f182e00e32803f_258x258.jpg)
***微信扫一扫,关注“python测试开发圈”,获取更多测试开发分享!***
- 前言
- Fiddler01-抓包原理介绍与配置
- Fiddler02-菜单功能介绍
- Fiddler03-轻松玩转Fiddler
- Fiddler04-进阶使用FiddlerScript
- Fiddler05-使用FiddlerScript对微信文章互动量进行监控
- Postman01-介绍与安装
- Postman02-HTTP请求与响应
- Postman03-Collection管理与运行
- Postman04 -变量详解
- Postman05-初级脚本使用
- Postman06-实例小结篇
- JMeter01-JMeter就是这么简单
- JMeter02-一个完整实战包你学会使用JMeter
- JMeter03-在JMeter中使用BeanShell编程
- JMeter04-图形化和非图形化运行JMeter
- JMeter05-生成美观的HTML测试报告
- JMeter06-JMeter+Jenkins实战
- JMeter07-解析session与cookie