使用流程
下文中提到的所有文件,都可以在网盘获得 charles版本号: 3.11.4 链接:http://pan.baidu.com/s/1hsorW2o 密码:ugib
1.安装3.11.4
2.用charles.jar覆盖Charles 安卓目录下原生的java的charles.jar。
3.开启代理
4.安装电脑charles根证书
5.将安装在电脑的证书手动设置为始终信任
6.设置电脑允许代理的https的host
7.将手机通过charles代理连到电脑以后,再通过手机访问这个网址(http://www.charlesproxy.com/getssl/),自动安装手机证书
8.手机证书,安卓在安装时需要选类型,选则WLAN,不要选VPN
【4,7】的本质就是将charles.pem分别装到mac-》钥匙和手机的证书里
抓取chrome浏览器 HTTP抓包
1.打开 charles
2.打开 proxy 属性 ,打开 Proxy Setting
3.如图 默认端口为8888,不做修改。勾选 Enable Mac OS X proxy
4.注意 浏览器中如 proxy SwitchOmega 等工具必须取消代理; 建议开启隐身模式进行抓包
抓取手机等移动设备 HTTP抓包
1.打开 charles
2.打开电脑 ifconfig 命令查看 当前MAC的IP
3.打开手机 与电脑连入同一局域网,在wifi设置中找到代理设置, 服务器为mac IP,端口为8888,保存。
4.这时 charles 会有提示,选择同意即可。
5.注意 当不需要抓包时,手机需要取消代理,不然可能会不能上网。
代理设置 -- Map Local
1.当对抓包的某一个请求需要设置本地代理,使用map local local Path 中选择需要 替换的本地文件
2.刷新页面,就ok了
如何在 chrome 中调试 android 手机页面
1.手机连接电脑,打开开发者模式,选择同意调试/信任电脑
2.打开 chrome 打开网址: chrome://inspect/#devices
3.第一次连接或许需要 FQ , 并且需要耐心等待几分钟。
4.之后就可以舒爽的使用了
如何在 safari 中调试 ios 手机
1.电脑中安装开发者证书
2.打开 safari 浏览器,手机连上电脑
3.开发 选择 你的设备 选择 需要调试的页面
FAQ:抓取不到? 很有可能是因为抓取目标也的host被电脑指向了本地
上面是mac下的,很多同学用的是window的。一下是windows上的配置
1. 在移动端安装证书
Help->SSL Proxying->Install…
点击安装之后会出出现弹框:
意思是首选确保你的客户端已经连接到Charles设置的代理上,例如这里我设置的代理是192.168.1.102,端口:8888,然后使用你的手机(模拟器) 浏览器访问网址:chls.pro/ssl 下载证书,然后安装,安装过程中,证书名称随便输入
2.设置Charles
安装完成之后,切换到Charles进行设置
进入Proxy -> SSL Proxy setting ,设置Enable SSL Proxying,然后点“Add”,将你要抓包的host添加进去。例如:你的根地址是https://mapi.paicaifu.com
点击OK,这样就行了,对比一下设置前后,访问该网站抓包的异同:
设置前:
设置后: