使用Fiddler抓取IOS_APP的请求

首先在地址https://www.telerik.com/fiddler 下载我们需要的fiddler

在新窗口中写上一些信息然后点击【Download for Windows】进行下载:

 

安装成功后打开菜单选项:Tools=》Options=》Connections

将这里的Allow remote computers to connect前面选项的勾打上。如果你本地的8888端口被占用了,那么需要将Fiddler listens on port中的端口号修改成本机没有被占用的端口号。
接着重新启动Fiddler,如果机器有开防火墙的话,请允许Fiddler进程通过防火墙。在Fiddler界面右上方的三角符号点击一下就会显示如图的Online图标,把鼠标放到Online图标上就会显示当前的机器的IP地址。

这里要注意一下,我这边有几个IP地址,其实一般来说只有一个,这里有多少个IP地址取决于机器有多少个网卡或者虚拟网卡,所以这里我们要使用与我们的IOS设备同一网段的IP。
也可以在cmd中使用ipconfig来查看:

这里真实的网卡地址是192.168.1.102,而其他两款的网卡地址都是虚拟网卡。
接着我们根据上面得到的IP地址和设置的端口号验证客户端iOS设备可以到达Fiddler机器,通过在浏览器中导航到http://192.168.1.102:8888。如果手机上打开出现一个类似下面的页面,说明是正确的能访问Fiddler机器。注意IOS设备必须与这个Fiddler机器是在同一网段。

设置IOS设备代理:
设置=》Wi-Fi,点击打开我们正在连接的Wi-Fi,然后在窗口中拉到最下面,点击【手动】然后在服务器和端口中输入刚刚的IP地址和端口号:

设置IOS设备解密HTTPS的传输:
iOS设备和Android设备可能无法使用Fiddler使用的默认HTTPS拦截证书。要解决这种不兼容性问题,您可以安装一个证书生成插件,该插件生成与这些平台兼容的拦截证书。
在这里下载一个CertMaker for iOS and Android https://telerik-fiddler.s3.amazonaws.com/fiddler/addons/fiddlercertmaker.exe 接着双击运行:

接着重新启动Fiddler。
配置Fiddler来解密HTTPS通道:
打开菜单选项:Tools=》Options=》HTTPS,按照如图中的设置:

点击OK后,下面这里表示十分信任Fiddler根证书吗?点击YES

表示是否需要安装证书,这里选择yes:

然后在IOS设备中访问当前地址:http://ipv4.fiddler:8888/ ,在得到的页面中点击下面地方打开Fiddler Root根证书:

 

 

在ios10或更高版本中,安装完FiddlerRoot证书后,需要转到【设置】->【通用】->【关于本机】->证书信任设置,手动启用FiddlerRoot证书的完全信任。接受这样的对话,即允许第三方窃听你的所有通信。

 

嗯。好,到目前为止我们在APP中通讯的请求都会显示在Fiddler中了。因为默认情况下会监听来自本机端和IOS端的所有请求,所以这里我们需要做一下过滤:
这里是设置仅仅显示指定URL的记录:

在Inspectors中可以看到请求的头和响应的数据:

 

对于卸载上面IOS中的Fiddler 证书的方法:
来到【设置】=》【通用】=》【描述文件与设备管理】选中刚刚添加了Fiddler 根证书,进入后点击【删除描述文件】:

 

这时候如果这时候发现火狐浏览器在打开https页面的时候出现【您的连接并不安全】的提示页面,请查看 https://www.cnblogs.com/alonely/p/9502394.html

posted @ 2018-08-19 19:58  ALonely  阅读(23403)  评论(3编辑  收藏  举报