Charles使用-网页/手机端抓取http/https请求配置

一、网页抓包
启动 Charles 后,需要将 Charles 设置成系统代理,选择菜单中的 “Proxy” –> “macOS Proxy” 来将 Charles 设置成系统代理。如下所示:
Charles使用-网页/手机端抓取http/https请求配置这样你会发现,你通过浏览器请求的网址都会出现在这里。点击某一个网址后,你会发现右边会出现这个网址请求的大概信息,点击具体的请求后会出现request和response等信息。如下图:
Charles使用-网页/手机端抓取http/https请求配置
如果是https请求出现的是乱码,这时候你就需要安装Charles的CA证书了,首先到去 http://www.charlesproxy.com/ssl.zip 下载CA证书文件。双击crt文件,选择总是信任就可以了。

二、手机抓包
注意:需要关闭电脑的防火墙
Charles 上的设置:
要截取手机上的网络请求,我们首先需要将 Charles 的代理功能打开。在 Charles 的菜单栏上选择 “Proxy”–>“Proxy Settings”,填入代理端口 8888,并且勾上 “Enable transparent HTTP proxying” 就完成了在 Charles 上的设置。如下图所示:
Charles使用-网页/手机端抓取http/https请求配置
配置需要抓取的域名,Proxy -> SSL Proxying Settings
Charles使用-网页/手机端抓取http/https请求配置
手机上的设置:
首先我们需要获取 Charles 运行所在电脑的 IP 地址,Charles 的顶部菜单的 “Help”–>“Local IP Address”,即可在弹出的对话框中看到 IP 地址,如下图所示:
Charles使用-网页/手机端抓取http/https请求配置
在手机上的 无线网 中(手机连接的无线网需要跟笔记本连接的无线网在同一个网段),可以看到当前连接的 wifi 名,通过点击修改网络,可以看到当前连接上的 wifi 的详细信息,勾选显示高级选项,我们将其切换成手动,然后填上 Charles 运行所在的电脑的 IP,以及端口号 8888,如下图所示:
Charles使用-网页/手机端抓取http/https请求配置
设置好之后,我们打开 手机上的任意需要网络通讯的程序,就可以看到 Charles 弹出 手机 请求连接的确认菜单,点击 “Allow” 即可。
当然如果要抓取手机设备上的 HTTPS 请求,需要在手机默认浏览器上也安装一个证书,在手机浏览器输入这个网址:chls.pro/ssl 点击下载,下载之后需要把文件后缀修改为.crt

安装Charles证书:
(1)进入WLAN高级设置界面,点击安装证书
Charles使用-网页/手机端抓取http/https请求配置
(2)选择刚刚浏览器上下载并修改过后缀的证书
Charles使用-网页/手机端抓取http/https请求配置
注意:需要注意下载的证书文件的名称是否完整,正确的证书文件名称如上图

(3)给安装的证书命名并如下图设置
Charles使用-网页/手机端抓取http/https请求配置
点击确定,至此手机上Charles证书安装成功,https的包不在显示为Unknown

三、过滤
在 Charles 的菜单栏选择 Proxy->Recording Settings,然后选择 Include 栏,选择Add,然后填入需要监控的协议,主机地址,端口号,这样就达到了过滤的目的。如下图:
Charles使用-网页/手机端抓取http/https请求配置
还有一种方法就是在一个网址上右击,选择Focus,然后其他的请求就会被放到Other Hosts的文件夹里面,这样也达到了过滤的目的。
Charles使用-网页/手机端抓取http/https请求配置
Charles使用-网页/手机端抓取http/https请求配置
四、模拟慢速网络
有时候在测试的时候我们想要模拟一下网络慢的情况,这时候Charles他是可以帮助到你的,在Proxy->Throttle Setting,然后选择Enable Throttling,在Throttle Preset下选择网络类型即可,具体设置你可以自行拿捏。
Charles使用-网页/手机端抓取http/https请求配置
如果我们只想模拟指定网站的慢速网络,可以再勾选上图中的 “Only for selected hosts” 项,然后在对话框的下半部分设置中增加指定的 hosts 项即可。

五、修改网络请求
有些时候为了调试服务器的接口,我们需要反复尝试不同参数的网络请求。Charles 可以方便地提供网络请求的修改和重发功能。只需要选中以往的网络请求,工具栏中点击 “Edit”,即可创建一个可编辑的网络请求。如下所示:
Charles使用-网页/手机端抓取http/https请求配置
六、给服务器做压力测试
我们可以使用 Charles 的 Repeat 功能来简单地测试服务器的并发处理能力,方法如下:
我们在想打压的网络请求上(POST 或 GET 请求均可)右击,然后选择 「Repeat Advanced」菜单项,如下所示:
Charles使用-网页/手机端抓取http/https请求配置
接着我们就可以在弹出的对话框中,选择打压的并发线程数以及打压次数,确定之后,即可开始打压。

七、断点
在Charles发起一个请求的时候,我们是可以给某个请求打一个断点的,然后来观察或者修改请求或者返回的内容,但是在这过程中要注意请求的超时时间。
要针对某一个请求设置断点,只需要在这个请求网址右击选择Breakpoints,然后点击断点按钮,就可以断点某一个请求了。
Charles使用-网页/手机端抓取http/https请求配置

上一篇:反调试——1——开始反调试


下一篇:C语言变量及其生命周期