抓包工具 Charles
抓包工具 Charles
抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作。也用来检测网络安全。抓包也经常被用来进行数据截取等。
(一) Charles基本介绍
中文名:青花瓷
,Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。
Charles 主要的功能和使用场景包括:
- 截取 Http 和 Https 网络封包,抓取接口请求定位问题;抓取接口请求获取接口信息做接口测试;
- 支持重发网络请求,方便后端调试;
- 支持修改网络请求参数;
- 支持网络请求的截获并动态修改,模拟慢速网络;
charles相当于一个插在服务器和客户端之间的“过滤器”;
当客户端向服务器发起请求的时候,先到charles进行过滤,然后charles再把最终的数据发送给服务器;
注意:此时charles发给服务器的数据,不一定是客户端请求的数据;charles在接到客户端的请求时可以自由的修改数据,甚至可以直接Block客户端发的请求;
服务器接收请求后的返回数据,也会先到charles,经过charles过滤后再发给客户端;
同理:客户端接收的数据,不一定就是服务器返回的数据,而是charles给的数据;
正因为上面的原理,所以charles能实现的功能,对前端开发者和测试人员来说非常有吸引力,相当于请求和响应都可控的,而且charles为了控制更加方面,提供很多简洁的操作;
Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
(二) Charles 使用教程
1.) 软件安装
下载
**(英文版)官方地址:**https://www.charlesproxy.com/latest-release/download.do
汉化版:https://www.52pojie.cn/thread-1600964-1-1.html
官网示例:
根据个人电脑下载适配的系统版本。下载安装包到本地之后双击charles.exe文件,一键式安装,以windows 64为例:
激活
Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为 Charles 强制关闭而遇到影响。
1. 生成激活码
Charles只有30天免费试用期,期间会提示购买激活码。网上有免费生成激活码的工具。免费生成激活码在线网址:https://www.zzzmode.com/mytools/charles/
输入自定义用户名,点击生成即可获取激活码。
2.激活账户
进入Charles,菜单栏help—register charles输入上个步骤中获取的用户名和激活码,点击Register即可激活。
参考 :https://www.cnblogs.com/shaohuang/p/17505696.html
2.) 配置与使用
默认情况下,Charles不能解析https协议的接口,所以我们需要下载ssl证书,来获取里面的数据。
为什么需要安装Charles的CA证书呢?
1)先理清一些概念的东西:
a)简单来说,https是http的安全版本,超文本传输协议http是以明文发送数据,而https是具有安全性的ssl加密传输协议,可以这么认为https=http+ssl。
b)采用https的服务器必须从CA申请一个用于证明服务器用途类型的证书,证书是唯一性,只用于对应的服务器。客户端要认可这个服务器是否是安全的,可以进行访问或者交易等操作,则需要进行对服务端的验证。
下图是客户端对服务器的验证过程:
c)ssl证书,遵循了ssl协议,在客户端和服务器之间建立了一条ssl安全通道,一般ssl证书都是在验证服务器身份后颁发给客户端。
d)由于ssl技术已建立在所有主要的浏览器和web服务器程序中,因此,仅需安装服务器证书就可以激活ssl协议,所以客户端通过信任该证书,就相当于信任了该主机(服务器)。
下图是客户端和服务端加密通讯的流程:
2)通过以上一个简单的理顺之后,这也就为什么当我们在使用Charles进行抓包的时候需要安装证书,可以通过ssl数字证书中的私用密钥来解译加密的信息,展示在Charles中,但是Charles有一个特殊的地方,就是实际上客户端安装的是Charles的CA证书,然后Charles安装服务器的CA证书,实际上流程还是一样的。
PC端
1.1 下载证书
点击help—ssl Proxying—install Charles Root Certificate
1.2 Charles安装证书
选中当前用户,点击下一步
选择受信任的根证书颁发机构
提示导入成功,点击确定
点击help—ssl Proxying—install Charles Root Certificate,显示如图表示安装证书成功
1.4 浏览器安装Charles证书
点击help—SSL Proxying—Save Charles Root Certificate
选择Cer格式文件保存到本地, 记得文件夹需要添加一个新的名称
到浏览器安装cer证书。以google为例,点击 设置-隐私设置与安全性-安全-管理证书,导入证书
1.4 Charles设置抓取https请求
点击Proxying—SSL Proxying Setting,勾选Enable SSL Proxying,在include添加*:443 和 :,点击确定。
1.5 查看本机ip
-
查看本地IP地址, 方法一 dos命令窗口( win键+R键盘-> 输入cmd)输入ipconfig 找到ipv4地
-
方法二或者在charles中,help—Local Ip Address查看。
1.6 https的 SSL端口配置
http是默认配置好的,要是默认安装完没配置好,我们就自己配置一下,默认的端口号是“8888”我们后面设置手机代理的的时候也要注意这个端口要保持一致。
1.7 PC端抓包
harles Web抓包非常简单,启动Charles会自动与浏览器设置成代理(设置代理证书减少 unknow),不需要进行过多的设置,接下来我就就是通过浏览器发送网络请求,Charles就会直接抓取到这些信息和响应信息
- 确保 Charles 处于 Start Recording 状态。
- 勾选菜单栏 Proxy — Windows Proxy 和 Proxy —Mozilla FireFox Proxy
- 设置https协议配置 参考不走1.2
移动端
手机抓包的原理,和 PC 类似,手机通过把网络委托给 Charles 进行代理与服务端进行对话。具体步骤如下:
使手机和电脑在一个局域网内,不一定非要是一个 IP 段,只要是在同一个路由器下即可。
2.1 获取ip端口地址
参考pc端1.5步骤
2.2 设置手机代理
在手机设置WALN中设置,选择wifi,更改网络-高级设置-代理手动
注意端口必须与charles电脑端的保持一致
接下里验证下手机请求,当我们看到Charles里能抓到这个连接,就说明配置没问题,看到unknown,这个不要紧,那是我们没有安装针对手机端的证书,下面继续我们手机端HTTPS证书安装
2.3 手机端安装证书
通过上面的设置,虽然来自我们手机端的Http协议请求可以抓取到,但是HTTPS协议的包是不能抓取的,需要安装配置证书才可以,现在手机上大多数都已经切到https很少由http协议的了
两种方法:
- 方法 一 将PC端1.2上面步骤中,下载的cer文件,导入到手机中,在手机中设置-更多安全设置-加密和凭据-从存储设备安装,选择导入的cer证书文件
- 方法二 点击顶部菜单栏【Help】–>选择【SSL Proxying】,点击安装【Install Charles Root Certificate On a Mobile Device or Remote Browser】在移动设备上或远程浏览器安装证书,打开手机浏览器 输入 chls.pro 下载证书 安装
2.4移动设备抓包
解决-手机通过Charles连接代理无法上网,: https://www.rstk.cn/news/874978.html?action=onClick
-
电脑端配置:
-
关掉电脑端的防火墙(这点很重要) 或设置可通过的软件。
-
打开 Charles 的代理功能:通过主菜单打开 Proxy | Proxy Settings 弹窗,填入代理端口(端口默认为
8888
,不用修改),勾选Enable transparent HTTP proxying
。 -
如果不需要抓取电脑上的请求,可以取消勾选 Proxy | Windows Proxy 和 Proxy | Mozilla FireFox Proxy。
-
-
手机端配置:
- 通过 Charles 的主菜单 Help | Local IP Address 或者通过命令行工具输入
ipconfig
查看本机的 IP 地址。 - 设置代理:打开手机端的 WIFI 代理设置,输入电脑 IP 和 Charles 的代理端口。
- 通过 Charles 的主菜单 Help | Local IP Address 或者通过命令行工具输入
-
设置好之后,我们打开手机上的任意需要网络请求的程序,就可以看到 Charles 弹出手机请求连接的确认菜单(只有首次弹出),点击 Allow 即可完成设置。
-
完成以上步骤,就可以进行抓包了。
3.) 界面工具栏
工具导航栏
Charles 顶部为菜单导航栏,菜单导航栏下面为工具导航栏。视图如下图所示:
工具导航栏中提供了几种常用工具:
- :清除捕获到的所有请求
- :红点状态说明正在捕获请求,灰色状态说明目前没有捕获请求。
- :灰色状态说明是没有开启网速节流,绿色状态说明开启了网速节流。
- :灰色状态说明是没有开启断点,红色状态说明开启了断点。
- :编辑修改请求,点击之后可以修改请求的内容。
- :重复发送请求,点击之后选中的请求会被再次发送。
- :验证选中的请求的响应。
- :常用功能,包含了 Tools 菜单中的常用功能。
- :常用设置,包含了 Proxy 菜单中的常用设置。
主界面视图
Charles 主要提供两种查看封包的视图,分别名为 Structure
和 Sequence
。
- Structure: 此视图将网络请求按访问的域名分类。
- Sequence: 此视图将网络请求按访问的时间排序。
使用时可以根据具体的需要在这两种视图之前来回切换。请求多了有些时候会看不过来,Charles 提供了一个简单的 Filter
功能,可以输入关键字来快速筛选出 URL 中带指定关键字的网络请求。
对于某一个具体的网络请求,你可以查看其详细的请求内容和响应内容。如果请求内容是 POST 的表单,Charles 会自动帮你将表单进行分项显示。如果响应内容是 JSON 格式的,那么 Charles 可以自动帮你将 JSON 内容格式化,方便你查看。如果响应内容是图片,那么 Charles 可以显示出图片的预览。
Charles 菜单介绍
Charles 的主菜单包括:File
、Edit
、View
、Proxy
、Tools
、Window
、Help
。用的最多的主菜单分别是 Proxy
和 Tools
。
Proxy 菜单
Charles 是一个 HTTP 和 SOCKS 代理服务器。代理请求和响应使 Charles 能够在请求从客户端传递到服务器时检查和更改请求,以及从服务器传递到客户端时的响应。下面主要介绍 Charles 提供的一些代理功能。Proxy 菜单的视图如下图所示:
Proxy 菜单包含以下功能:
- Start/Stop Recording:开始/停止记录会话。
- Start/Stop Throttling:开始/停止节流。
- Enable/Disable Breakpoints:开启/关闭断点模式。
- Recording Settings:记录会话设置。
- Throttle Settings:节流设置。
- Breakpoint Settings:断点设置。
- Reverse Proxies Settings:反向代理设置。
- Port Forwarding Settings:端口转发。
- Windows Proxy:记录计算机上的所有请求。
- Proxy Settings:代理设置。
- SSL Proxying Settings:SSL 代理设置。
- Access Control Settings:访问控制设置。
- External Proxy Settings:外部代理设置。
- Web Interface Settings:Web 界面设置。
更多界面功能介绍
借鉴文档: Charles 功能介绍和使用教程(中英文功能解析,功能解释)
问题
charles如何抓微信视频号中的视频
charles如何抓微信视频号中的视频
如何使用charles/如何下载微信视频号中的视频
(需要先了解charles软件的使用)
1.打开charles,设定端口,下载证书等。配置好,等待抓取
2.获取电脑本机的ip(该ip是你电脑上网得ip,比如wifi的,或拨号的,热点的等,要不然微信登不上)
3.打开电脑端的微信,在登录界面的右上角,点击设置,点击开启代理,输入电脑的ip,和刚刚在charles上设置的端口号。默认是8888,点击连接
4.连接成功后,点击登录即可
5.在手机微信上将要下载的视频号里的视频转发到好友
6.然后用电脑微信打开该视频
7.在charles中就会抓到一条
8.第一个视频就是需要抓取的,点击该视频,右键,点击copy URL
9.然后粘贴到浏览器中打开,就可下载该视频了
10.如果在浏览器下载下载不了,可以借助浏览器的扩展程序【猫抓】,自己百度或找我
Registered Name: | chary |
License Key: | 132a2c90a4c07e6bea |
8enet/Charles-Crack: Removed according to DMCA.