利用Charles进行浏览器、APP数据抓包

蛰伏已久 蛰伏已久 2018-01-31

下载安装

官网下载地址:https://www.charlesproxy.com/download/

支持macOS、windows、Linux根据自己需要下载并安装

免费版每次只能使用30分钟,然后重启即可,中间使用的过程中会有随即的中断,不影响学习使用


抓取PC浏览器数据

我用的是mac版本,要抓取浏览器访问数据包,只需勾选macOS Proxy即可

QQ20180131-142248@2x.png

当访问一个网页,比如访问百度,会看到抓取的数据包

QQ20180131-142603@2x.png


抓取手机浏览器、APP数据

需要进行3步设置

  • 在Charles中进行代理设置

  • 手机中进行wifi代理设置

  • 手机访问网址或APP

在Charles中进行代理设置

点击“Proxy”-“Proxy Settings”

QQ20180131-142903@2x.png

端口号随意,我设置为8886,这里设置多少,后续手机代理端口号就写多少

QQ20180131-142914@2x.png

手机中进行wifi代理设置

手机和mac共处同一个wifi中

点击wifi右侧“i”按钮

QQ20180131-143353@2x.png

点击配置代理

QQ20180131-143418@2x.png

输入电脑的ip地址和刚才设置的代理端口号

QQ20180131-143447@2x.png

电脑ip地址可以在“系统偏好设置”-“网络”中查看

QQ20180131-143732@2x.png


设置好之后,mac上会弹窗提示是否允许你的手机链接代理(有时没看到),允许即可。

此时可以用手机浏览器访问百度,测试代理是否正常

手机上有网络请求时,都可以在Charles中看到抓取的数据包


抓取HTTPS数据

我们用Charles抓取数据时,比如手机访问知乎,显示如下,全部为乱码,完全没法看。这是因为知乎采取的是https协议,我们必须进行必要的设置。

QQ20180131-144310@2x.png


抓取https第一步:手机安装证书

在Charles中点击“help”-“SSL Proxying”-“Install Charles Root Certificate......mobile Device or Remote Browser”

QQ20180131-144626@2x.png

会提示你在手机中打开chls.pro/ssl

QQ20180131-144641@2x.png

在safari浏览器中输入chls.pro/ssl,安装提示安装配置文件

安装完成后,需要在手机 “设置”-“通用”-“证书信任设置”中信任该证书

抓取https第二步:激活Charles的SSL代理

在Charles中点击“Proxy”-“SSL Proxying Settings”

QQ20180131-145345@2x.png

勾选 Enable SSL Proxying,点击Add按钮,添加要监控的网址和端口号,我直接填写“*.com”,端口号443,检测所有的.com网址

QQ20180131-145425@2x.png


此时再访问知乎,就可以看到正常的内容了

QQ20180131-145814@2x.png


常用操作说明

  • 清除纪录

  • 开始、停止抓包

  • 龟速访问、快速访问

  • 编辑请求数据,以便重复访问

QQ20180131-150119@2x.png


我们也可以过滤抓取的数据包

QQ20180131-150256@2x.png



代理设置后不能访问网络

最近再次用charles时,手机端设置了代理,可以怎么也无法访问网络。

问了公司运维才知道,针对公司的wifi,实行了2次隔离,每个人之间无法ping通,PC和手机之间两个ip地址不能ping通,所以设置代理也无效。

随意要使代理有效,我们需要确保

  • 手机和电脑,处在同一个wifi下

  • wifi没有设置网络隔离

  • 手机代理服务器ip及端口号正确



分享到

点赞(0)