测试基础 Charles 抓包工具基础使用

梁伟泽 for 杭州数云测试团队 · 2022年03月31日 · 1827 次阅读

一、mac 下面 charles 的配置
1)下载和安装证书

2)标记为信任的证书,如果不信任,需要右击【显示简介】改为始终信任

二、Charles 设置代理
启动 Charles 后,第一次 Charles 会请求你给它设置系统代理的权限。你可以输入登录密码授予 Charles 该权限。你也可以忽略该请求,然后在需要将 Charles 设置成系统代理时,选择菜单中的 “Proxy” –> “Mac OS X Proxy” 来将 Charles 设置成系统代理。
需要注意的是,Chrome 和 Firefox 浏览器默认并不使用系统的代理服务器设置,而 Charles 是通过将自己设置成代理服务器来完成封包截取的,所以在默认情况下无法截取 Chrome 和 Firefox 浏览器的网络通讯内容。如果你需要截取的话,在 Chrome 中设置成使用系统的代理服务器设置即可,或者直接将代理服务器设置成 127.0.0.1:8888 也可达到相同效果。

三、设置过滤
方法一:在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:http://yuantiku.com , 那么只需要在 Filter 栏中填入 yuantiku 即可。(适用临时性)

方法二:在 Charles 的菜单栏选择==“Proxy”–>“Recording Settings”==,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。(适用经常性)如下图所示:

四、设置 https
https 抓包需要安装 SSL 证书,网上大部分是关于手机上如何抓取 https 协议包,而关于 windows 系统下抓取浏览器访问 Web 应用的 https 协议包的配置和操作比较少。于是笔者猜想,手机和浏览器抓 https 的原理应该是一致的,可以借鉴手机 SSL 的配置来完成浏览器上 SSL 的配置。
1、电脑上安装 SSL 证书
通过 Charles 安装,进入 Charles-》Help-》SSL Proxying-》Install Charles Root Certificate ,会打开证书,安装进去,下图是证书已经安装成功的结果。

注意:
(1)由于当前版本较高,ssl 证书已经在电脑上了,但如果碰到进入相应界面,提示 “证书不存在”,可以到官网去下载与版本配套的证书
https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/
(2)按照提示步骤一步一步安装完 ssl 证书以后,返回证书界面,会看到 此根证书不被信任,在证书上右键 - 显示详情 ,展开信任 选择 始终信任,然后点击左上角的关闭,系统会弹出授权提示框,授权同意修改,回到列表,稍等,证书就刷新了 --- 同第一步

五、修改网络请求内容&修改服务器返回内容
有些时候我们想让服务器返回一些指定的内容,方便我们调试一些特殊情况。例如列表页面为空的情况,数据异常的情况,部分耗时的网络请求超时的情况等。如果没有 Charles,要服务器配合构造相应的数据显得会比较麻烦。这个时候,使用 Charles 相关的功能就可以满足我们的需求。

根据具体的需求,Charles 提供了 Map 功能、 Rewrite 功能以及 Breakpoints 功能,都可以达到修改服务器返回内容的目的。这三者在功能上的差异是:

  1. Map 功能适合长期地将某一些请求重定向到另一个网络地址或本地文件。
  2. Rewrite 功能适合对网络请求进行一些正则替换。
  3. Breakpoints 功能适合做一些临时性的修改。 1)Map 功能 页面重新加载即可显示返回内容 2)Rewrite(批量修改) tool 下面的 rewrite

3)Breakpoints(临时修改)

上述方式,都是修改以后,重新加载界面即可获得效果!

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册