Charles网络抓包

简介

Charles 是在 Mac 下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。

Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。

除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。

Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为 Charles 强制关闭而遇到影响。

主要功能

  • 截取 Http 和 Https 网络封包。
  • 支持重发网络请求,方便后端调试。
  • 支持修改网络请求参数。
  • 支持网络请求的截获并动态修改。
  • 支持模拟慢速网络。

下载安装

Charles 的官方网站http://www.charlesproxy.com下载最新版的 Charles 安装包,是一个 dmg 后缀的文件。打开后将 Charles 拖到 Application 目录下完成安装。

使用介绍

  1. 第一步是将Charles设置为系统的代理服务器。一般会在你第一次使用的时候Charles会请求你设置系统代理权限;如果你忽视了你需要在菜单中Proxy–>Mac OS Proxy 将Charles 设置成系统代理。需要注意的是:如果是想在Chrome和Firefox默认的代理服务器并不是系统的代理服务器。这个时候你需要在Chrome中设置成使用系统的代理服务器即可。
  2. 主界面介绍
    这里写图片描述
    1. 过滤网络请求
      在菜单栏选择 Proxy –> Recording Setting,然后选择includ栏,选择添加一个项目,填入你要监控的协议,主机,端口。这样就可以只截取目标网站的网络请求了。
      这里写图片描述

截取Android上的网络请求

  1. 确保我们的手机和电脑在同一个局域网内,mac用户可以设置网络启动网络共享,手机连接网络贡献的网络即可,如果是模拟器不用任何设置。
    这里写图片描述
  2. 打开Charles的代理功能。在菜单栏上选择 Proxy–>Proxy Setting,代理端口填入8888,勾选Enable transparent HTTP Proxying
    这里写图片描述
  3. 在Android上设置代理
    在设置–>网络 进入后长按连接的网络,点击修改网络,在代理设置处选择手动,代理的主机设置为你的pc 的ip地址端口设置为8888保存即可。设置好后Charles会弹出Android请求代理的确认对话框,点击Allow即可。
    这里写图片描述

截取Https的请求

  1. Mac 上安装 Charles 的 CA 证书
    在Charles 的顶部菜单,选择 Help –>SSL Proxying –> Install Charles Root Certificate
  2. 对某一个https请求设置 Enable SSL Proxying就可以了
    右键你要设置的https地址,勾选上Enable SSL Proxying就可以了
    这里写图片描述

截取Android上的Https请求

  1. 在手机中安装 CA证书
    打开手机中的浏览器 输入地址http://charlesproxy.com/getssl应该会自动下载 CA证书,如果没下载可以用在pc 的浏览器中下载,在terminal中通过adb push 命令 push到手机中去。然后在手机的 设置–>安全服务–>从存储设备安装。这样会自动找到刚刚push到手机的CA证书(手机未设置密码的会提示设置密码)。
  2. 同样默认情况下Charles 并不会截取,右键你要截取的https地址,勾选上Enable SSL Proxying就可以了; 或者在 Charles的菜单中 Proxy –> SSL Proxying Settings 中设置你要代理的https 主机端口
    这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值