教你用whistle抓包安卓、iOS应用https接口

​部分安卓,ios系统不支持fiddler,在我使用fiddler抓包安卓、IOS应用接口失败怎么办?有什么好的解决方案呢?

最好的方式就是换一个抓包工具,这里推荐工具:whistle

说一下whistle的优点:

  • 跨平台,它是基于浏览器的,可以在mac或者windows上使用,而且配置简单。
  • 集成了host管理功能,我们不需要在像fiddler那样,需要绑host的时候,专门找个工具去做这件事。
  • 可以基于域名的代理,我们可以像绑host的ip那样,绑定访问的域名。

当然它也是有缺点的就是要配置运行依赖环境,whistle需要依赖于node。

下面开始介绍如何安装使用(我这里为 win10 x64 系统)

1、安装node

可以去官网(http://nodejs.cn/download/)下载,这里我选择“Windows 安装包 (.msi) 64位”下载安装(大家根据自己的系统选择合适的版本安装即可),安装后在命令窗口cmd使用:node -v  检查下是否显示版本信息确认安装成功。(我这里node版本为 v16.15.1)

2、安装whistle

进入cmd窗口执行命令:

npm install -g whistle

安装后使用命令:

w2 help 

检查是否安装成功。

教你用whistle抓包安卓、iOS应用https接口

3、启动whistle

使用命令:

w2 start

教你用whistle抓包安卓、iOS应用https接口

其他常用命令:重启:w2 restart  关闭:w2 stop

4、chrome浏览器代理设置

whistle 是通过代理服务来进行工作的,因此需要给请求客户端配置 whistle 的代理,代理地址即  whistle 的监听地址(默认为 http://127.0.0.1:8899/ )

推荐使用SwitchyOmega浏览(适用chrome、firefox)器插件。

Chrome 应用商店:https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif
Mozilla Add-Ons(firefox):https://addons.mozilla.org/en-US/firefox/addon/switchyomega/

对此,Firefox安装相对简单,而chrome因为网络原因(都懂),所以可能大家不能直接输入上面链接安装上。

这里使用“SwitchyOmega_Chromium.zip”包安装chrome插件:

① 首先通过“菜单 > 更多更具 > 扩展程序”进入扩展程序页面(也可以在浏览器中键入 chrome://extensions/  进入页面),在页面右上角打开“开发者模式”(默认是关闭状态)。

教你用whistle抓包安卓、iOS应用https接口

②在扩展程序页面点击“加载已解压的扩展程序”按钮,找到 SwitchyOmega_Chromium.zip 的解压路径,然后选择该文件夹后插件安装成功。(SwitchyOmega.zip 压缩包可以关注公众号“ceshibuluo”,在后台输入“SwitchyOmega”获取

教你用whistle抓包安卓、iOS应用https接口

注意:如果大家在官网(https://github.com/FelisCatus/SwitchyOmega/releases)下载的为“SwitchyOmega_Chromium.crx”文件,需要把后缀名改为 .zip / .rar 等压缩包格式,然后解压即可。
在chrome浏览器中键入 chrome-extension://padekgcemlokbadohgkifijomclgjgif/options.html#!/profile/proxy 即可访问SwitchyOmega设置页面。

教你用whistle抓包安卓、iOS应用https接口

安装成功后,访问 http://127.0.0.1:8899/  即可进入以下页面。

教你用whistle抓包安卓、iOS应用https接口

5、手机代理

在 http://127.0.0.1:8899/ 页面,点击Online,可以看到IP和端口等信息,其中Port和IPv4的值对我们接下来的操作有用。

教你用whistle抓包安卓、iOS应用https接口

手机代理绑定这个ip及端口

教你用whistle抓包安卓、iOS应用https接口

6、访问及使用

当手机设置好代理后,在 http://127.0.0.1:8899/ 页面切换到“Network”即可查看抓包详情。(使用Composer可以方便的对请求重放)

教你用whistle抓包安卓、iOS应用https接口

7、https证书安装

ios和部分安卓系统需要信任证书,安装好后需要开启https拦截

点击工具栏的HTTPS,会弹出如下窗口

教你用whistle抓包安卓、iOS应用https接口

此码为证书下载码,手机配好代理后,手机浏览器扫此码即可安装证书。

注意:安装过程中证书名称大家随意写,凭据用途怎么选呢?这个建议扫码安装两次,依次勾选凭据用途( XXX应用 / WLAN)。

最后勾选上配置项“Capture TUNNEL CONNECTs”即可抓取https请求。

8、使用rules

我们点击最左侧的rules选项

打开如图:

教你用whistle抓包安卓、iOS应用https接口

在这个里面就可以绑定host或者域名啥的,包括重定向文件等等,填好后使用万能键ctrl+s即可生效。

不同于Fiddler通过断点修改请求响应的方式,whistle采用的是类似配置系统hosts的方式(即Rules),一切操作都可以通过配置实现,支持域名、路径、正则表达式、通配符、通配路径等多种匹配方式。

以上就是whistle对安卓、ios进行抓包的使用操作说明,大家可以自己去安装试试。

具体参考官方说明:
https://www.npmjs.com/package/whistle
https://wproxy.org/whistle/quickstart.html (中文帮助手册)

-- End --

文末寄语每个人都有一个觉醒期,但觉醒的早晚决定个人的命运。



留言