今天闲来无事,准备修改一下最近常用的某抢购软件的部分功能,无奈最后还是以失败告终,原因是它的某个重要参数搞不出来什么规则,败北而归,不过在这个过程中熟悉了charles这款使用的抓包工具的使用.
安装破解这些都省略了,百度一大堆,这里主要说一下获取手机网络请求的方法.
1.首先选择菜单中的 “Proxy” -> “Mac OS X Proxy” 来将 Charles 设置成系统代理。
2.设置端口(注意手机和电脑必须在统一网络或者wifi下),在 Charles 的菜单栏上选择 “Proxy”->”Proxy Settings”,填入代理端口 8888(当然6666也可以,只要手机电脑一致就行),并且勾上 “Enable transparent HTTP proxying” 就完成了在 Charles 上的设置。
3,手机设置,通过Charles 的顶部菜单的 “Help”->”Local IP Address”,即可在弹出的对话框中看到 IP 地址
4,在 iPhone 的 “ 设置 “->” 无线局域网 “ 中,可以看到当前连接的 wifi 名,通过点击右边的详情键,可以看到当前连接上的wifi 的详细信息,包括 IP 地址,子网掩码等信息。在其最底部有「HTTP 代理」一项,我们将其切换成手动,然后填上 Charles运行所在的电脑的 IP,以及端口号 8888,如下图所示:
5,一切设置完毕后,普通的HTTP请求都可以抓到数据了.但是由于HTTPS的出现,导致不能正常抓取数据,下面介绍一下HTTPS抓包方法
截取移动设备中的 Https 通讯信息
1.首先在mac上安装证书, 选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”,
2,信任证书(很重要),不然无法正常使用抓包HTTPS
3,手机安装证书,选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate on a Mobile Device or Remote Browser”,然后就可以看到 Charles 弹出的简单的安装教程,其实就是一个连接,打开后提示安装证书,安装它.
4,到此为止你以为结束了,其实还有最关键的一步!自从iOS10.3出现以后证书安装后及时信任了也不算完全信任.必须在设置->通用->关于本机->证书信任设置->打开对证书的完全信任.
5,至此,使用Charles获取手机APP网络请求已经可以正常使用了.若有不对,请大牛不理赐教.