代码改变世界

【接口工具】接口抓包工具之Fiddler

2018-07-24 23:36  Tanwheey  阅读(2618)  评论(0编辑  收藏  举报

一、Fiddler的基本功能介绍

Fiddler的官方网站: https://www.telerik.com/purchase/fiddler

Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于时间脚本的子系统,并且能使用.NET语言进行扩展。对HTTP协议越了解,就能越掌握Fiddler的使用方法。越使用Fiddler,就越能帮助了解HTTP协议。Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。

Fiddler的工作原理:Fiddler是以代理web服务器的形式工作的,它使用代理本地地址:127.0.0.1,端口xxxx,如下图所示。

能支持HTTP代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制就是本机上监听Fiddler中设置的端口的HTTP代理。

二、Fiddler基本界面及设置

1、Fiddler基本界面

2、Fiddler基本设置

设置Fiddler捕获HTTPS会话

选择Tool->Options->勾选图中所选->OK

再点击Connections->勾选图中所选->OK,端口号可以自行更改,填写没有占用的端口号,Fiddler默认端口为8888。

注意:如要非本地通过Fiddler进行代理捕获接口数据,在Connections中勾选上Allow remote computers to connect。

三、客户端设置代理方法

1、本机浏览器设置代理方法

Chrome中设置代理:

以67.0.3396.99(正式版本) (64 位)为例,设置->高级->系统->打开代理->设置局域网设置(L)->代理服务器->勾选为LAN使用代理服务器高级,输入ip及端口,见下图。

Firefox中设置代理:

以61.0.1 (64 位) 版本为例,打开菜单->选项->网络代理->设置,输入ip及端口,见下图。

Firefox中安装Fiddler插件:

修改Firefox中的代理比较麻烦,不用fiddler的时候还要去掉代理。推荐在firefox中使用fiddler hook 插件,这样你非常方便的使用Fiddler获取firefox中的requesxiant 和response。

当你安装fiddler后,就可以安装好Fiddler hook插件,你需要到firefox中区启动这个插件:

打开菜单->附加组件->插件 ->搜索Fiddlerfox->添加到Firefox

安好后,在浏览器顶部右侧会出现Fiddlerfox图标,点击后即使用了Fiddler代理。

为能捕获HTTPS会话,如未安装证书,访问网站会提示”您的连接不是私密链接“,可点击高级选择继续访问,访问时会提示访问的网站是不安全的,提示证书无效,Fiddler也抓捕不到https请求。

需要安装证书,在浏览器中输入本地ip:Fiddler中设置的端口号(127.0.0.1:8080),点击图中框图部分下载证书点击安装。

安装时会出现以下界面。

2、手机端设置代理方法

电脑(本地)开热点让手机端连接。

查看本地的ip

命令提示符->ipconfig->选择热点IPV4 ip

Android设置代理方法:

连上热点无线后,点击网络后面的”>“,找到代理栏,选择手动,主机名输入热点ip及Fiddler中设置的端口号。

现在就可以捕获http数据了。

如要捕获https,还是按照浏览器方法下载证书,手机先连热点wifi,找个浏览器输入热点ip:端口号,如下所示,点击FiddlerRoot certificate下载证书。

如果手机连了热点,且输入热点ip:端口号正确,但无法访问页面,可能当前端口号被占用,建议换个端口号再进行操作。

下载完成后,进入设置,在设置搜索框中输入”证书“,点击安装证书,找到下载的证书文件路径,选择文件后点击确定即可安装证书。

 

Ios设置代理方法:

连上热点无线后,点击配置代理,选择手动,服务器输入热点ip及Fiddler中设置的端口号。

 

现在就可以捕获http数据了。

如要捕获https,按照Android下载证书方式进行下载。然后按照手机提示一步步操作安装即可。Ios的证书是放在设置->通用->描述文件里的。

再进入设置->通用->关于本机->证书信任设置,开启信任证书按钮。此步很重要,没开启手机设备连不上网络。

 

 好了,现在就可以捕获HTTPS会话了。

 注意TIPS

1、Fiddler不能在Mac系统中运行,如要使用Fiddler捕获Mac浏览器包,需在Mac上装Windows虚拟机。

2、每次关闭Fiddler,一定要记得把本地电脑上的代理禁止掉,否则容易造成无法上网。下图为chrome去勾选代理设置中的样式。

 

------------------------------------------------------Tanwheey-------------------------------------------------------------------------

爱生活,爱工作。