Charles是一款抓包神器,它是Java开发的跨平台的软件,不仅可以在Mac上使用,Linux以及Window下都是可以使用的,当然需要安装JDK,才能运行,他是收费的,当然,如果不付费,也能使用,只是每过十分钟,就会弹出一个对话框.charles官网
当然了,网上还是有破解版的,怎么下载破解的,就不用我说了,直接百度或谷歌吧.
HTTP抓包
http抓包比较简单,基本上只要打开了charles,然后随便一个网络请求,就可以在charles中看到抓取的信息了
那么我们怎么抓取iOS真机设备上的http呢?
1. 打开charles
2. 记下电脑的ip地址,然后打开charles的设置,charle-proxy - proxy settings
记住端口号·
3. 打开手机的wifi详情,选择http代理,填入刚刚记下的电脑的ip地址,还有上面记下的charles的端口号(例如,默认的8888)
4. 在手机上进行网络访问,这样charles会出现一个提示,大体上意思是,是否允许charles作为手机的网络请求代理
,选择 Allow,然后,手机上的网络请求,在charles上就可以看到了
HTTPS抓包
在电脑上抓包https,例如百度的,首先就是安装Charles的根证书,Help - SSL Proxying - Install Charles Root Certificate ,会打开 钥匙 应用,安装进去
当安装后,可能你看不到在哪里,在右上角的搜索中 输入 cha 则会显示出来,你看到上面是 此根证书不被信任!,
这样,证书是不可用的,你还是不能抓包https,怎么做呢?
在证书上 右键 - 显示详情 ,展开信任 选择 始终信任
然后点击左上角的关闭,系统会弹出授权提示框,授权同意修改,回到列表,稍等,证书就刷新了
这个时候就可以用了
就可以抓包这个host了
其实这一步等价于
在host中可以输入 * 表示 匹配所有的
当然,Port 也可以输入 * :这样就是匹配所有的了
这个时候,你访问https网络请求,就可以在charles上看到了!