🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[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测试开发圈”,获取更多测试开发分享!***