抓包
上篇Fiddler教程,我们教了大家Fiddler安装配置及如何使用Fiddler进行基本的Http抓包及模拟请求,今天给大家介绍下如何使用Fiddler进行手机抓包。
运行环境为Windows 10,使用手机为iPhone 7,iOS11系统。
0. 准备工作
首先需要确保手机及电脑在同一个局域网内,如连接了同一个无线路由器。
1. Fiddler配置
1. 运行Fiddler后打开配置项:Tools –> Options
2. 打开配置项HTTPS,勾选“Capture HTTPS CONNECTs”,同时勾选“Decrypt HTTPS traffic”,弹出的安装证书对话框时选择“是”。如果需要监听不可信的证书的HTTPS请求的话,需要勾选“Ignore server certificate errors (unsafe)”。
3. 选择Connections选项卡,选中"Allow remote computers to connect":允许远程机器(pc/手机)连接Fiddler作为代理(这也是为什么Fiddler可以抓取手机请求的原因),默认使用端口号为8888
4. 保存配置后,重启Fiddler
2. iPhone配置
2.1 获取Fiddler所在机器ip地址
使用ipconfig命令查看即可,如我们这里是192.168.2.177
2.2 配置iPhone无线局域网代理
1) 打开iPhone设置 -> 无线局域网,选择并点击我们已连接的无线网,进入无线网详情页面;下拉至最下方,选择HTTP代理 -> 配置代理
2) 选择手动,填入服务器IP及端口号后点击“存储”保存即可,如这里我们填入192.168.2.177及8888
2.3 安装手机证书
这一步配置是为了Fiddler可以抓取手机上的HTTPS请求。如果你只需抓取HTTP请求,可以忽略这一步。
1) 在iPhone Safiri浏览器中打开http://192.168.2.177:8888,其中ip地址为Fiddler所在机器ip,8888为配置的Fiddler代理端口号
2) 点击"FiddlerRoot certificate"下载证书
3) 在打开的“安装描述文件”界面,点击右上角“安装”按钮,输入密码后,选择安装即可
3. 抓包示例
1. 我们在Safiri浏览器中打开任意网址,如我的博客地址:http://www.cnblogs.com/lovesoo/,在Fiddler中可以看到本次HTTPS请求,其中UA是iphone
2. 我们打开任意APP,如手机QQ,在Fiddler中同样可以看到QQ本次访问的所有HTTP及HTTPS请求消息
同理,Android手机也是相同的操作步骤,在配置无线局域网代理及安装证书后,就可以通过Fiddler抓取手机浏览器,APP等发出的HTTP或HTTPS类型请求了,在此恕不赘述。