Charles使用说明&手机抓包

本文详细介绍了如何在Mac上安装和使用Charles进行HTTP和HTTPS网络请求的抓包。首先,讲述了Charles与其他抓包工具的对比,然后提供了下载和安装Charles的步骤,并展示了其界面。接着,重点讲解了HTTPS证书的安装和SSL代理设置,确保能查看加密内容。最后,指导了如何在iPhone设备上配置代理和安装证书以实现移动端的网络请求抓包。

一.简介

常用的抓包工具有:

  • charles:可以运行在windows和macOs和linux;收费的,如果不交钱,只能每半小时重启一次;
  • fiddler:可以运行在windows和linux;
  • wireshark:可以运行在windows和macOs和linux。

其中,wireshark是一个老牌抓包工具,针对网卡层级,可以看到详细的报文交互细节过程,但是针对应用层面的接口抓包分析,它的界面不如charles和fidder更直观。

fiddler只能安装在windows下,应用范围有限,因此我们选择charles。
本文记录charles在mac的安装使用,以及手机端抓包。

抓包原理介绍:
在这里插入图片描述
首先,在客户端(手机or电脑)上配置代理服务,地址就是charles服务的地址,之后客户端访问网路,都会经过charles,charles自然就能抓取到所有网络请求。

二.下载安装

下载地址:https://www.charlesproxy.com/latest-release/download.do
然后下载安装即可,然后打开界面如下:
在这里插入图片描述
开启本机代理:
charles安装在本机,那么我们的电脑既充当了charles服务器,有作为客户端,既然作为客户端,就要配置开启代理服务,这样才能被charles抓取到信息。

安装启动后,已经默认开启了多本机的代理,如下快捷菜单已经勾选,此时访问网络就会被抓取到记录:
在这里插入图片描述
或者通过【Proxy】-》【Proxy Settings】菜单,如下:
在这里插入图片描述

  • Port:8888是charles对外的访问的默认端口;ip就是本机ip;
  • macOS菜单,点开会发现里面都勾选上了,这个功能和文中的快捷菜单是联动的;

三.https 证书安装

charles安装后,默认只能看到http的请求内容,对于https的请求,虽然也能抓取到,但是内容是加密的,也就是乱码状态,需要设置ssl证书后,才能看到内容。
在这里插入图片描述

  • 上图中,蓝色图标的表示明文的;
  • 灰色锁的图标,表示https加密的,看不到内容;

1.信任证书
打开【Help】–》【SSL Proxying】–》【Install Charles Root Certificate】
在这里插入图片描述
然后会跳转到mac的证书界面,找到charles的证书,次证书默认是红色的,表示没有信任,
在这里插入图片描述
此时需要双击打开证书,然后在【信任】菜单中选择 始终信任。

2.ssl代理设置:
步骤1弄好到了证书后,还是针对不通的域名单独Enable一下:
打开【Proxy】–》【SSL Proxying Setting】菜单,如下:
在这里插入图片描述
点击add按钮,输入*,表示允许所有域名,这样就不用一个个手动添加了。

通过以上配置后,我们抓取的信息,就都可以看到明文了。

四.移动端抓包

本文使用iphone,安卓也类似,流程都是一样的。

1.配置代理
首先需要在手机上配置charles服务的ip和端口号,
配置的位置,一般都是在网络那里,比如wifi的位置:
【设置】–》【无线局域网】–》【点击已经连接的网路】–》【最下面配置代理】–》【手动】,然后输入charles服务器ip和端口(默认8888)即可。

2.手机端证书安装:
和电脑端一样,如果不在手机上安装charles的证书,那么是无法看到https的内容的。

具体安装步骤,在charles上有提示:
打开【help】中的:
在这里插入图片描述
显示如下安装提示:
在这里插入图片描述

  • a:在手机上配置代理服务的ip和端口,这个我们上一步已经配置了;
  • b:手机浏览器打开地址 chls.pro/ssl ,下载证书;
  • c:最后信任证书,设置–》通用–》关于本机–》信任证书;

以上设置完毕后,在手机端访问任何地址,在charles上都能看到。

### Charles 工具的功能介绍与使用教程 Charles 是一款功能强大的抓包工具,广泛应用于网络调试和性能分析。以下是关于 Charles 的功能介绍及其使用方法的详细说明。 #### 一、Charles 的基本功能 Charles 提供了多种功能以满足开发者在网络调试中的需求,包括但不限于以下内容: - **界面介绍**:Charles 的界面设计直观,主要由会话列表、请求详情和配置选项组成[^1]。 - **弱网模拟**:通过设置网络延迟和带宽限制,开发者可以模拟不同的网络环境,从而测试应用在不同网络条件下的表现[^1]。 - **请求编辑**:支持对 HTTP/HTTPS 请求进行修改,允许用户更改请求头、参数或正文内容,以便测试不同的场景[^1]。 - **请求重发**:可以重新发送已捕获的请求,便于重复测试某些特定的网络行为。 #### 二、Charles 的安装与基本设置 在使用 Charles 前,需要完成以下基本设置: - **下载与安装**:访问 Charles 的官网(https://www.charlesproxy.com/),根据操作系统选择合适的版本进行下载和安装[^2]。 - **代理配置**:启动 Charles 后,确保设备的网络代理设置正确指向 Charles 的本地代理地址(通常是 `127.0.0.1` 和端口 `8888`)[^2]。 #### 三、SSL 抓包配置 为了捕获 HTTPS 流量,需要进行 SSL 代理设置: - 打开 Charles 的菜单栏,依次选择 `Proxy > SSL Proxying Settings`。 - 在弹出的窗口中,添加需要抓取的域名,并将 Charles 自带的 CA 证书导入到目标设备或浏览器中[^4]。 - 导入证书后,确保设备信任该证书,以便正常解密 HTTPS 数据流。 #### 四、高级功能 除了基础功能外,Charles 还提供了许多高级功能: - **带宽限制**:通过模拟低速网络,评估应用在不同网络条件下的性能[^3]。 - **断点调试**:允许用户暂停请求并手动修改其内容后再继续发送[^3]。 - **映射功能**:支持将某个 URL 的请求重定向到本地文件或其他服务器地址,便于开发和测试[^3]。 #### 五、注意事项 在使用 Charles 时需要注意以下几点: - 确保目标设备已正确配置代理,并导入了 Charles 的 CA 证书。 - 如果遇到证书不被信任的问题,可能需要手动将证书添加到系统的受信任证书列表中。 ```python # 示例代码:验证 Charles 的代理设置是否生效 import requests proxies = { "http": "http://127.0.0.1:8888", "https": "http://127.0.0.1:8888" } response = requests.get("https://www.example.com", proxies=proxies) print(response.status_code) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值