手机端抓包设置方法(android+ios/Fiddler+Charles/http+https)

简述

在测试app的时候,比如:页面无法展示内容(由服务端接口返回值提供),往往就需要去定位问题,找到所抛出的请求是否异常,pc浏览器和mac浏览器访问是可以通过平台提供的软件(Charles&fiddler)来实现,那么如何抓到手机抛出的请求呢?实现抓取手机网络请求

这里分别介绍两种工具在两种平台下的使用方法
- (2015/12/02 更新 加入抓取https的设置方法)

①、Pc windows+fiddler(Http&Https)

条件:

第一种为适用于windows平台,适用fiddler来实现抓取手机网络请求。
1、windows安装fiddler
2、pc和手机需要在同一局域网下(二级路由也没有问题)


第一步:安装设置fiddler代理

Fiddler --> Tools --> Fiddler Options --> connections



在Fiddler listen on port中填入一个自定义4位数端口号(不能以0开头)
勾选选项“Allow remote computers to connect”


手机端抓包设置方法(android+ios/Fiddler+Charles/http+https)_第1张图片

至此fiddler的代理设置已完成(设置完成后不要关闭fiddler)
第二步:手机设置连接fiddler代理

这里以ios 设备为例;(安卓也是一样的)
打开手机的WIFI设置,连接局域网可用WIFI;点击已连接WIFI后的 i 标志;进入网络代理设置
设置HTTP代理为手动,填入fiddler所在的pc机ip地址,以及设置的Fiddler listen on port并保存


手机端抓包设置方法(android+ios/Fiddler+Charles/http+https)_第2张图片

!设置截获Https请求(Fiddler)

依次找到菜单:FiddlerOption --> https标签
1.勾选 Captrue HTTPS CONNECTsDecrypt HTTPS traffic 选项

手机端抓包设置方法(android+ios/Fiddler+Charles/http+https)_第3张图片

2. 手机安装fiddler信任证书以iPhone为例,安卓同理
安卓和IOS均要使用手机系统浏览器,然后输入代理ip和端口号来访问你的fiddler代理ip:
如下图(代理fiddler的pc的ip是192.168.101.34,端口号8888)
手机端抓包设置方法(android+ios/Fiddler+Charles/http+https)_第4张图片
Paste_Image.png

如果代理成功的话,会看到以下页面,如果不成功请检查ip和防火墙
手机端抓包设置方法(android+ios/Fiddler+Charles/http+https)_第5张图片
Paste_Image.png

点击“FiddlerRoot certificate”会跳转到系统证书安装确认页面:
手机端抓包设置方法(android+ios/Fiddler+Charles/http+https)_第6张图片
Paste_Image.png

安装完成之后,再次访问指定网页,所有的https请求的返回值你都可以看得到了~


②、Mac+Charles

条件:

第二种为适用于mac os平台,使用charles来实现抓取手机网络请求。
1、mac os 安装charles(charles工具试用期是30天的,破解教程自行度娘或者call me)
2、mac os 和手机需要在同一局域网下 (二级路由无效)


第一步:设置Charles代理

1、运行Charles程序,设置port
Proxy --> ProxySettings --> Proxies --> httpProxy


手机端抓包设置方法(android+ios/Fiddler+Charles/http+https)_第7张图片

手机端抓包设置方法(android+ios/Fiddler+Charles/http+https)_第8张图片

第二步:获取mac os当前ip

按住option键,点击右上角的wifi图标即可看到IP:


手机端抓包设置方法(android+ios/Fiddler+Charles/http+https)_第9张图片
获取当前ip地址

第三步:设置手机HTTP代理

3、打开iOS设置,进入当前wifi连接,设置HTTP代理,将服务器填为上一步中获得的IP,即192.168.199.147,端口填8888:


手机端抓包设置方法(android+ios/Fiddler+Charles/http+https)_第10张图片

结尾:在不使用的时候需要将手机中得HTTP代理关闭,否则pc或者mac关机或者关闭软件后,手机无法正常上网!


!设置截获Https请求(Charles)

如果不进行下面的设置,https的reqeust和response都是乱码,设置完之后https就可以抓包了。

Mac端安装证书操作:

点击Charles菜单的help->SSL->proxying->install charles root certificate


手机端抓包设置方法(android+ios/Fiddler+Charles/http+https)_第11张图片
mac电脑安装信赖证书

在到电脑的钥匙串中信赖刚刚的证书:


手机端抓包设置方法(android+ios/Fiddler+Charles/http+https)_第12张图片
mac电脑安装信赖证书
手机端安装证书操作:

下载 Charles证书解压后导入到iOS设备中(将crt文件作为邮件附件发给自己,再在iOS设备中点击附件即可安装;也可上传至百度之类的网盘,通过safari下载安装)

电脑端操作:

1、在Charles的工具栏上点击设置按钮,选择Proxy Settings…
切换到SSL选项卡,选中Enable SSL Proxying。(别急,选完先别关掉)
2、SSL选项卡的Locations里填写要抓包的域名和端口,点击Add按钮,在弹出的表单中Host填写域名。比如填api.baidu.com,Port填443


手机端抓包设置方法(android+ios/Fiddler+Charles/http+https)_第13张图片
mac端ssl设置

!!!信任证书

很多小伙伴在设置好代理,装好证书之后依然会出现https请求无法解包的情况!经过一段时间研究,找资料发现原来仅仅只是需要一个小设置即可!
设置-通用-关于本机-证书信任设置 , 打开相应证书的开关即可


手机端抓包设置方法(android+ios/Fiddler+Charles/http+https)_第14张图片
证书信任设置

打开对应证书开关


手机端抓包设置方法(android+ios/Fiddler+Charles/http+https)_第15张图片
打开对应证书开关

你可能感兴趣的:(手机端抓包设置方法(android+ios/Fiddler+Charles/http+https))