测试工具学习|Charles 基础使用


文章目录

  • 一、 Charles 是干什么的?
  • 二、主要特点
  • 三、web 抓包 macOS
    • 抓取 HTTP:
    • 抓取 HTTPS:
  • 四、 APP 抓取 iOS
    • 抓取 HTTP:
    • 抓取 HTTPS:

一、 Charles 是干什么的? Charles 是 macOS 的一个抓包工具 ,是一个HTTP proxy / HTTP monitor / Reverse Proxy ( http 代理服务器, 监听器, 反向代理)
当浏览器通过 Charles 来访问 Internet , 就可以监控到 浏览器 发送 和接收到的信息,主要是 http/https request、response、头信息(cookies、caching(缓存信息) ) .
二、主要特点
  • SSL 代理– 以纯文本形式查看 SSL 请求和响应 (安全套接字层, 确保互联网连接安全 , TLS 是 升级版, 更加安全的 SSL, 通常广泛称为 SSL, 实际上真正购买的是 TSL ) .
  • 带宽限制以模拟较慢的 Internet 连接,包括延迟 (可以进行弱网测试)
  • AJAX 调试 – 以树或文本的形式查看 XML 和 JSON 请求和响应
  • AMF – 以树的形式查看 Flash Remoting / Flex Remoting 消息的内容
  • 重复请求以测试后端更改
  • 编辑请求以测试不同的输入
  • 拦截和编辑请求或响应的断点
  • 使用 W3C 验证器验证记录的 HTML、CSS 和 RSS/atom 响应 ( RSS 文件就是一段规范的 XML(标准通用标记语言的子集)数据,该文件一般以 rss,xml 或者 rdf 作为后缀。)。RSS 好处: 最新信息会自动送到用户的阅读器中.
注意: 出现异常
1 出现问题 :没有登录。只能使用 30 min。
测试工具学习|Charles 基础使用
文章图片

解决办法:
测试工具学习|Charles 基础使用
文章图片

2 出现问题: 这个是文件的权限问题,主要是Charles Proxy Settings的权限报错了
测试工具学习|Charles 基础使用
文章图片

可以通过修改权限来解除这个警告弹窗 解决办法:
sudo chown -R root “/Applications/Charles.app/Contents/Resources”
sudo chmod -R u+s “/Applications/Charles.app/Contents/Resources”
三、web 抓包 macOS 抓取 HTTP: 1、启动 charles 会自动与浏览器设置成代理, 通过浏览器发送请求就可以抓取信息以及响应信息. 在菜单栏勾选『Proxy -> macOS Proxy』,macOS 系统 HTTP/HTTPS 代理将会被自动设置为本地代理,默认端口 8888。
抓取 HTTPS: 但是 HTTPS 是无法抓取的 , 所以需要安装数字证书 SSL . 按照下图操作, 安装 认证证书 , 此时在弹出的添加证书窗口中,选择添加,可以看到在钥匙串访问窗口中,该证书已成功添加,但是此时该证书仍然不被信任。(在访问网页时会出现 您的链接不是私密链接)。 双击此证书,在弹出的Charles Proxy CA窗口中,点击信任按钮,使用此证书时,选择始终信任后关闭窗口,使用账号和密码授权后,即可看到此证书已经被信任了, 网页就可以正常访问了.
测试工具学习|Charles 基础使用
文章图片

测试工具学习|Charles 基础使用
文章图片

测试工具学习|Charles 基础使用
文章图片

测试工具学习|Charles 基础使用
文章图片

注意问题: 页面无法访问, 证书不被信任 需要注意
四、 APP 抓取 iOS 抓取 HTTP: 1、手机抓包需要在电脑端配置下,并且同时需要手机和电脑在同一网络下. 在 Mac 上先打开 Charles,确保 iOS 设备和 Mac 处于同一局域网内(可使用 Mac 创建热点分享给 iOS 设备)。
2、设置 iOS HTTP 代理,打开 iOS 设备对应 WIFI 设置,添加代理 IP 地址( Mac 的局域网地址 :Charles 中从菜单栏『Help -> Local IP Address』获取)和端口号(8888).
3、在 iOS 设备上访问数据链接,Charles 弹出 Access Control 确认对话框,选择 Allow,可以开始抓取 HTTP 包。
抓取 HTTPS: 【测试工具学习|Charles 基础使用】1、在菜单栏选择 『Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or a Remote Browser』,弹出提示框 .
2、 根据上述提示,在 iOS 设备上使用 Safari 浏览器访问 http://chls.pro/ssl,Safari 浏览器会自动下载证书并提示安装,根据提示一步一步安装好,证书会被添加到『设置 -> 通用 -> 描述文件』中。
3、进入『设置 -> 通用 -> 关于本机 -> 证书信任设置』,对上一步安装的 Charles 证书启用完全信任。
4、在iOS设备上访问 HTTPS 数据链接,可以开始抓取 HTTPS 包。抓包域名端口设置和 macOS 应用程序相同。

    推荐阅读