• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
little-redhat
博客园    首页    新随笔    联系   管理    订阅  订阅

抓包工具-charles

一、简介

 

Charles是在Mac下常用的截取网络封包的工具,在测试服务器端的网络通讯,往往用它来截取网络封包来分析。Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取与分析。

 

 

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

 

 

Charles主要功能有:
1、截取 Http 和 Https 网络封包。
2、支持重发网络请求,方便后端调试。
3、支持修改网络请求参数。
4、支持网络请求的截获并动态修改。
5、支持模拟慢速网络。

 

 

二、安装

 

 

1、安装

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

3、安装使用过程中遇到的问题

1)问题:安装完charles后,打开使用开始抓包,发现一使用charles抓包,浏览器就不能正常连接,显示【不是私密连接】。

2)解决方案:安装好charles后,要在mac上安装证书,并且在钥匙串中将证书改为【信任】:

 

三、基本配置

1、将 Charles 设置成系统代理

Charles是通过将自己设置成代理服务器来完成封包截取的,所以使用Charles第一步就是将其设置成系统的代理服务器。选择菜单中的 “Proxy” –> “Mac OS X Proxy” 来将 Charles 设置成系统代理。

【note】Chrome 和 Firefox 浏览器默认并不使用系统的代理服务器设置,而 Charles 是通过将自己设置成代理服务器来完成封包截取的,所以在默认情况下无法截取 Chrome 和 Firefox 浏览器的网络通讯内容。如果需要截取的话,在 Chrome 中设置成使用系统的代理服务器设置即可,或者直接将代理服务器设置成 127.0.0.1:8888 也可达到相同效果

2、Charles抓包配置

Charles 通常用来截取本地上的网络封包,但是当我们需要时,我们也可以用来截取其它设备上的网络请求。

【前提】手机 和 Mac 是在同一个网段下

 

 

<1>打开Charles 的代理功能:菜单栏上选择 “Proxy”–>“Proxy Settings”,填入代理端口 8888(也可以自定义),并且勾上 “Enable transparent HTTP proxying”。

 

 


<2>获取mac的Ip地址。Charles 的顶部菜单的 “Help”->”Local IP Address”,即可在弹出的对话框中看到 IP 地址。

 

 

<3>手机wifi设置代理,「HTTP 代理」一项,我们将其切换成手动,然后填上 Charles 运行所在的电脑的 IP,以及端口号 8888,【即:IP为第二步的IP,Port为第一步中设置的Port】

 

<4>设置好之后,我们打开 手机上的任意需要网络通讯的程序,就可以看到 Charles 弹出 手机 请求连接的确认菜单,点击 “Allow” 即可完成设置。

 

5、https抓包

如果需要截取分析 Https 协议相关的内容。则需要安装 Charles 的 CA 证书。

【安装证书】具体步骤如下:

 

<1>电脑上安装SSL证书
charles - help - SSL Proxying,点击Install Charles Root Certificate 然后进入到密钥,将证书设置为可信任。

 

<2>手机上安装SSL证书

step1:charles - help - SSL Proxying,点击Install Charles Root Certificate on a Mobile Device or Remote Browser

step2:浏览器输入【chls.pro/ssl】 下载证书(手机连接代理的前提下)【安卓手机安装证书: 浏览器输入:http://www.charlesproxy.com/getssl 安装 Charles SSL 证书】

​
(安卓手机安装证书:在设置- 设备安全-从存储设备安全证书 ,找到证书的下载路径,点击进行安装。如果要删除之前安装的证书,在设置- (更多)- 安全,找到信任的证书,进行移除操作)

注意: 如果手机上下载证书后,找不到证书,可能是因为证书是pem后缀的,需要将pem改成crt或者cer

1):当iOS打不开【chls.pro/ssl】网址时,按如下操作:【charles】->【proxy】->【Proxies】:

​。再次打开手机浏览器即可。

2)下载安装好证书以后,iPhone信任证书:【设置】->【通用】->【关于本机】->【证书信任设置】->将证书设置为信任。

 <3>设置支持https请求:Proxy - SSL Proxying Settings,点击add,进行如下设置:

 

 

 

 

 四、注册码激活charles

1、问题:因为charles是收费的,未激活的charles只有30天试用期,试用期过后,未付费仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时会有10秒钟延迟

 

2、解决方法

打开该网址 https://www.zzzmode.com/mytools/charles/ 

输入版本号或者其他自定义name,点击生成,跳出弹框,复制License Key的值

 

将生成的注册码复制到chales的 help - Registered Name里,之后重新打开即可。

 

 

 

TRANSLATE with x
English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
 
TRANSLATE with
COPY THE URL BELOW
Back
EMBED THE SNIPPET BELOW IN YOUR SITE
Enable collaborative features and customize widget: Bing Webmaster Portal
Back
posted @ 2022-06-05 00:20  凉城丶深巷  阅读(1257)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3