美文网首页
charles 抓包

charles 抓包

作者: 礼就是规矩 | 来源:发表于2018-08-26 16:26 被阅读0次

Charles

在平时的开发与测试过程中,总会遇到网络问题。我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。

准备工作

由于本人是 iPhone 手机,这里以 iPhone 为主 (ps: 主要是安卓种类繁多,说不过来)

  1. iPhone + Charles(抓包工具)
  2. 抓包

iPhone + Charles(抓包工具)

安装 Charles

根据自己的系统,从 Charles 官网 下载,安装即可。
安装完成后,配置 Charles 相关。

截取手机上的网络数据包

Charles 通常用来截取本地上的网络数据包,但是当我们需要时,我们也可以用来截取其它设备上的网络请求。下面我就以 iPhone 为例,讲解如何进行相应操作。

设置系统 Charles

启动 Charles 的代理功能,在 Charles 中的 Proxy -> Proxy Setting ,具体设置如下图:

http-proxy-setting

设置 iPhone HTTP 代理

首先,获取当前 Mac 的 IP 地址

  1. option/alt + 鼠标左键点击 Wi-Fi 图标,会展示 IP 地址
  2. Charles 的菜单中 Help -> Local IP Address, 也能获取当前 IP 地址 (推荐)

ip
接下来,让 Mac 作为 iPhone 的代理
设置 -> 无线局域网 -> 你 Wi-Fi 名称 -> 详情 -> HTTP 代理 -> 配置代理

  1. 进到代理配置页,将 “关闭” 切换为 “手动”。
  2. 将你获取到的 IP 填入“服务器”的选项中
  3. 端口填入 8080
  4. 记得点击存储,否则代理信息不会保存
    [图片上传失败...(image-fa58cf-1535271871494)]
    此时, Mac 已经作为了 iPhone 的 HTTP 代理。但是,并不能截取到 HTTPS,因此,还需要进行额外的配置,使其可以截取 HTTPS
    请注意,当 Charles 弹出如下图弹框时,请一定选择 Allow !!!! 请一定选择 Allow !!!! 请一定选择 Allow!!!!
    image

设置 iPhone HTTPS 代理

HTTPS 需要进行如下额外配置:

  1. Mac 安装证书
  2. 手机安装证书
  3. Mac 配置 HTTPS 代理
Mac 安装证书

找到 Charles 菜单,选择 Help -> SSL Proxying -> Install Charles Root Certificate,然后输入系统的帐号密码,即可在 钥匙串访问 中看到添加好的证书。
打开钥匙串访问,点击 登录 -> 证书 ,找到如下证书:

image
如果该证书不被用户信任,则需要修改信任等级,双击证书根据下图进行修改:
image
至此,Mac 的证书安装完毕。
iPhone 安装证书

找到 Charles 菜单,选择 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser

image
会弹出如下弹窗:
image
使用已经进行 HTTP 代理的 iPhone 的 Safari 访问 chls.pro/ssl , 安装证书即可。

注意: iOS 10.3 以上需要针对 通用 -> 关于本机 -> 证书信任设置 -> Charles Proxy Custom Root Certification 进行信任操作,10.3以上必须要做!

Mac 配置 HTTPS 代理

找到 Charles 菜单,选择 Proxy -> SSL Proxying Setting -> SSL Proxying,图片效果如下:

image

选择 SSL Proxying Setting 后,具体配置内容如下:

image

相关文章

网友评论

      本文标题:charles 抓包

      本文链接:https://www.haomeiwen.com/subject/eipoiftx.html