一. 简介及安装

一、charles的使用

1.1  charles的说明

Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。安装Charles的时候要先装好Java环境。

Charles的主要功能:

(1)截取Http 和 Https 网络封包。

(2)支持重发网络请求,方便后端调试。

(3)支持修改网络请求参数。

(4)支持网络请求的截获并动态修改。

(5)支持模拟慢速网络。

1. 下载
Charles下载地址

地址:https://www.charlesproxy.com/latest-release/download.do

2. 安装
一路按下next即可安装(保证电脑里没有其他charles即可)

Charles第一种破解方法:

Registered Name:https://zhile.io
License Key: 48891cf209c6d32bf4

Charles第二种破解方法:

破解地址:https://www.zzzmode.com/mytools/charles/

生成jar文件后,放到charles安装目录的lib目录下

此时,重启charles,查看已经破解,如下图:

二. 连接
1.PC抓包

由于charles会自动配置浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了。直接打开网页就可以了。

 注意:Charles支持抓去http、https协议的请求,不支持socket。

(网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket)

手机抓包的原理,和PC类似,手机依靠charles与服务端进行对话;

目标:把手机的网络委托给charles进行代理;

手机抓包设置,需要进行3步;

第一步,在charles里设置允许手机联网的权限;你需要把charles设置为允许的状态并且设置允许的端口号,这样手机端才能正常的接入;

第二步,把手机按照charles的IP和端口进行配置;

第三步,手机配对成功后,charles还会弹窗是否允许;(charles虽然开放了端口,但并不知道是那一台手机会配入,此窗口起到提示和安全防护的作用;)

上面的三步,设置好就可以正常抓包,双方都保证正常通信后

第一步:设置charles为允许状态,并设置好接入端口

在Charles的菜单栏上选择“Proxy”->“Proxy Settings”,填入代理端口8888(注意,这个端口不一定填写8888,也可以写别的端口,但是需要记住这个段扩,因为这里设置的允许接入的端口,手机端配置的时候需要用到),并且勾上”Enable transparent HTTP proxying” 就完成了在Charles上的设置。如下图;

需要找到charles的本机IP;

点击HTLP -> local IP Address 可以看到当前的本机IP地址;

当然,你也可以在终端打开查看,比如window,cmd下;输入ipconfig可以查看本机的IP

此时我们可以看到,charles允许手机接入的IP和端口是 192.168.0.103:8844

 

此时如果你手工在浏览器输入 这个HOST会发现charles会提示一个窗口问你是否允许接入,选择Deny即可。

第二部:把手机按照charles的IP和端口进行配置

手机链接wifi,wifi的HTTP代理选择手动那项(安卓类似)

在iPhone的 “设置”->“无线局域网“中,可以看到当前连接的wifi名,通过点击右边的详情键,可以看到当前连接上的wifi的详细信息,包括IP地址,子网掩码等信息。在其最底部有“HTTP代理”一项,我们将其切换成手动,然后填上Charles运行所在的电脑的IP,以及端口号8888(我的端口8844)

第三步,手机配对成功后,charles弹窗询问是否允许(iPhone会有提示android目前没有发现)

设置好之后,我们打开iPhone上的任意需要网络通讯的程序,就可以看到Charles弹出iPhone请求连接的确认菜单

如上图的弹窗,点击允许即可;此时已经配对成功,开始愉快的抓包吧;

注意:如果手机端不需要抓包请切换为无代理状态,如果你把手机的上网通过委托给了charles,那么当charles出错或者没有开启的时候,此时手机必定没有办法正常上网。

https抓包设置

MAC 配置参考:

https://www.jianshu.com/p/dbc9be888ea0

https://www.jianshu.com/p/ec0a38d9a8cf

注意:在iOS 10.3之前,当你将安装一个自定义证书,iOS会默认信任,不需要进一步的设置。而iOS 10.3之后,安装新的自定义证书默认是不受信任的。如果要信任已安装的自定义证书,需要手动打开开关以信任证书

windows配置:

一、charles安装证书,help->ssl Proxying->install Charles Root Certificate,后一个为手机端的证书

第二步:打开Charles,对Charles进行设置,如下图 ,点击顺序为 Proxy--ssl proxying settings

参考

https://blog.csdn.net/weixin_33810302/article/details/92387103

Charles乱码问题解决:

Mac:https://www.cnblogs.com/zzh--blog/p/10599708.html

windows:

1、检查证书是否授信,如果不授信需要重新安装

2、在charles.ini中,手动增加一个vmarg.6=-Dfile.encoding=UTF-8

3、或者配置:选择Tools下面的Rewrite ,进行设置

 

Logo

更多推荐