抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。在windows下我用fiddler,mac下用charles,下面来介绍一下mac下如何用charles抓包
下载安装charles
下载链接http://pan.baidu.com/s/1o80KYcq,密码:4jbl
。下载完成后将 Charles.app 拖至 应用程序 文件夹复制 charles.jar 至 /Applications/Charles.app/Contents/Java/,使用 SN.txt 中的序列码即可
设置
如图配置:
注意:界面上的红点处于打开状态,界面右下角状态为Recording,这时候就会对mac抓包。如果抓不到,你的电脑是不是有蓝灯之类的代理,关了就能抓到请求(如果状态为stop recording则抓不到包)
https抓包
抓https请求会乱码。解决办法:Proxy->SSL Proxying Settings->勾上Enable SSL Proxying,再点击Add按钮,在弹出的表单中Host填写域名。比如填api.instagram.com,Port填443(443为https默认端口号,http为80) 然后再抓https的请求,就不乱码了
抓ios请求
- 前提是需要手机和MAC在同一网段。查看电脑IP地址
- 点击“设置->无线局域网->连接的WiFi”,设置HTTP代理:服务器为电脑IP地址:如192.168.1.169 ,端口:8888
在ios上抓https请求
需要安装SSL证书到手机设备
- 点击 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device
- 出现弹窗得到地址 chls.pro/ssl
- 在手机Safari浏览器输入地址 chls.pro/ssl,出现证书安装页面,点击安装
一点疑问
我要抓微信小程序的包,结果发现在手机上运行时可以抓,但在mac上什么包都抓不到,这么说是不是在电脑上微信小程序走了代理?