建立代理
运行Charles,查看Charles的端口
Proxy -> Proxy Settings
查看本地IP
可以直接使用Charles查看,也可以通过查看mac的网络设置查看
使用Charles查看
Help -> Local IP Address
使用Mac网络设置查看
在iso上设置代理
设置->无线局域网->进入指定连接的wifi
进入配置代理,选择“手动”,并输入我们之前得到的IP和端口
抓取http内容
正常在ios配置了代理之后,理论上http的网络请求就会被Charles抓取到,因为http是明文的,所以可以直接看到请求内容
抓取https内容
抓取http要稍微复杂一下,因为https是加密传输的,每次建立连接都会经过tls的握手,所以需要在抓取http的基础上增加几个步骤才能看到https的内容,否则你看到的就是一些乱码,比如
在Overview中你可能还会看到这样的提示
建立TLS证书链
安装代理证书
点击菜单
Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser
按照窗口的提示,在ios上的默认浏览器输入"chls.pro/ssl"下载证书并安装,ios 10以上需要去“设置->通用->关于本机->证书信任设置”中设置完全信任才行
添加SSL解析网址
回到mac上的Charles,点击菜单
Proxy -> SSL Proxying Settings
添加对应的网址,当然你如果需要监视所有的SSL网址,可以输入"*"
到了这里,https抓包的设置就完成了,接下来你应该就可以看到https的请求和响应内容了(当然,如果代码里边另外使用了加密算法的例外)