charles使用

本文详细介绍如何使用Charles抓包工具捕获HTTP和HTTPS网络请求数据。包括准备工作、配置手机代理以捕获HTTP请求数据,以及如何安装证书和设置SSL代理以捕获HTTPS请求数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在做开发时,为了调试与服务器端的网络通讯协议,常常需要截取网络数据包来分析。不管是移动开发者还是测试者,抓包工具对于我们的工作都是非常有帮助的,本文将简单介绍 Charles 抓包工具的使用。

Charles 不仅可以帮助我们抓取服务器返回的数据,还可以修改请求参数,修改响应体。基本上 HTTP 能修改的东西,Charles 都能帮我们修改。

一、准备工作

首先需要在官网下载 Charles,下载并安装,Charles 是付费软件,当然你也可以“免费”使用。

当你打开软件后,就已经在开始抓包了,默认是获取当前电脑的网络请求包。如果不想抓当前电脑的包,可以取消勾选。

 

接下来,让你的电脑和手机连接同一WiFi,必须是同一WiFi。否则无法获取手机的数据包。

 

 

二、抓取手机 HTTP 请求数据包

1、首先查看电脑IP

Help→Local IP Addres

 

 

这里我电脑 IP 为 192.168.191.3,记住这个 IP 地址,需要填在手机中,我的手机是 iPhone,接下来以 iPhone 为例,安卓手机类似。

 

3、设置手机HTTP代理

打开手机,点击 “设置->无线局域网->你已经连接的WiFi”,设置 HTTP 代理,注意手机和电脑必须连接同一WiFi。

将上述电脑 IP 填入手机的 HTTP 代理中,这里我电脑 IP 为 192.168.191.3,所以我就填这个,需要根据自己电脑实际IP填写。

 

 

 

4、WiFi Settings

端口填写 8888,这个端口号需要和 Charles 的代理端口号相同,默认是 8888,通过 Charles 菜单栏的 “代理—>代理设置”,查看端口号,并勾选 “Enable transparent HTTP proxying”。

 

5、HTTP Proxy

设置好之后,电脑会弹框,询问是否允许代理,点击“允许”即可。

当点击“允许”后,手机的网络请求,将通过 Charles 代理转发。也就是说,当手机请求数据时,实际是把请求发给了 Charles,Charles 再去请求服务器;当服务器返回数据时,也是把数据返回给了 Charles,Charles 再把数据给手机,这样 Charles 就可以获取这中间的网络请求了。

现在已经可以抓取 HTTP 的请求数据了,但还无法获取 HTTPS 的请求。

这是因为 HTTP 都是明文传输,请求数据一目了然,但 HTTPS 是经过加密处理。为了数据安全,大部分网络请求都已经是 HTTPS 的,虽然可以截获数据包,但加密的内容展示出来是乱码,所以暂时还看不到数据内容。

接下来,在上述基础上,继续对 HTTPS 协议进行抓包。

三、抓取 HTTPS 数据

1、下载证书到手机

在手机 Safari 浏览器输入地址 chls.pro/ssl,出现证书安装页面,点击安装,手机设置有密码的输入密码进行安装。

当安装完成后,还需要在“设置→通用→关于本机→证书信任设置”里面启用完全信任 Charles 证书,打开信任正式按钮。

 

2、SSL 代理设置

通过 Charles 菜单栏的 “Proxy -> SSL Proxying Settings” 打开 SSL 代理设置。勾选 Enable SSL Proxying,点击 Add,添加需要代理的 IP。

填写 *,表示代理所有 IP 和端口。也可以根据实际需求,填写具体的 Host 或者 Port,这样就只会抓取你填写指定的数据包。

完成~~已经可以获取 HTTPS 的数据了。

 

 

 

文件参考:https://www.jianshu.com/p/824955777219 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值