Charles 是在 MacOS 下常用的网络封包截取工具,通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
本文主要介绍 Charles 的安装配置,主要针对 android、iOS 设备的抓包配置

一、安装

Charles官网 下载安装即可,该软件为付费软件,可免费试用 30 天

二、配置

1.将 Charles 设置成系统代理

Charles 是通过将自己设置成代理服务器来完成封包截取的,所以使用 Charles 的第一步是将其设置成系统的代理服务器
勾选【Proxy – Mac OS X Proxy】,将Charles 设置成系统代理

charles-1.png

之后,就可以看到网络请求出现在 charles 界面中了

2.截取移动设备的网络封包(抓包)

完成以下配置,便可以使用 charles 对移动设备上的 APP 进行抓包操作了(HTTP&HTTPS)

2.1 Charles 配置

2.1.1 安装证书

点击【Help – SSL Proxying – Install Charles Root Certificate】

charles-2.png

接下来会弹出系统钥匙串,在钥匙串中对 charles 证书进行信任即可

2.1.2 设置代理端口

选择 【Proxy – proxy settings】

charles-3.png

将设置端口为:8888,并勾选「Support http/2」和「Enable tansparent HTTP proxying」

charles-4.png

2.2 配置手机代理

前置条件:手机和电脑连接同一个局域网(同一个 wifi)

2.2.1 查看 IP

点击【Help - Local IP Address】查看 IP 地址

charles-5.png

2.2.2 android 设备配置

进入【设置 - wifi】找到当前连接的 wifi,将「代理」改成手动,输入「主机名」和「端口」

2.2.3 iOS 设备配置

进入【设置 - 无线局域网】,点击连接的 wifi,【配置代理 - 手动】输入「服务器地址」和「端口」

charles-6.png

完成以上步骤,便可以对 http 请求进行抓包操作了

2.3 HTTPS 配置

上面的配置只能抓取 http 请求,当前如果查看 https 请求,会出现 <unknown>,如果需要抓取 https 请求,则需要继续进行以下配置

2.3.1 charles 配置

(1)charles 默认并不抓取 HTTPS 网络通讯的数据,若想拦截所有 HTTPS 网络请求,需要进行设置:在请求上右击选择 「Enable SSL proxying」变为「Disable SSL Proxying」状态

charles-7.png

(2)【Charles -> Proxy -> SSL Proxying Settings -> SSL Proxying】「添加对应的域名和端口号,为方便也可端口号直接添加通配符*」

2.3.2 移动设备安装证书

(1)charles 选择 【Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser】

charles-8.png

(2)确保手机连上代理的情况下,在手机浏览器栏输入:chls.pro/ssl,下载证书,完成安装

  • android 设备:

    • Android 一些机型用自带浏览器进去该网址会失败,可以换个浏览器(比如:UC)
    • 然后进入【设置 – 其他设置 – 安全与隐私  – 从储存设备安装证书 】找到下载的证书文件进行安装
    • 部分 Android 如果无法安装 .pem 格式证书,可以将文件后缀改为 .crt,重新进行上一步安装
  • iOS 设备:

    • 在 safari 浏览器输入地址下载安装
    • 下载后如果无法自动安装,可以在【设置 - 通用 - 描述文件与设备管理】中安装下载的证书
    • 完成安装后在【设置 - 关于本机 - 证书信任设置 】找到刚才的证书打开开关

本文由 一切随风 创作,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论