Charles全程解析

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

破解地址:https://www.zzzmode.com/mytools/charles/    生成jar包   替换   重启两遍

证书安装:
charles安装完成后,就可以抓取电脑上http的请求。但抓取https的时候还需要进行一些设置。windows的设置于mac不太相同,
a.选择:Help—SSL Proxying—Install Charles Root Certificate

手机安装证书
a.选择:Help—SSL Proxying—Install Charles Root Certificate on a Mobile Devices or Remote Browser

b.手机绑定==》电脑host代理

c.配置代理信息后,Charles会出现如下窗口,点击Allow,允许链接后,在浏览器中输入:chls.pro.ssl下载证书,下载后,直接安装。安装后确认证书是否是被信任的证书,打开:通用—关于本机—证书信任设置,将下载的charles证书设置为信任。设置完成后可以使用charles抓取手机发出的https请求

快捷菜单栏操作:
清除按钮:点击该按钮将清除当前会话中的所有内容
停止按钮:点击后Charles将停止抓包

节流按钮:点击后将限制请求上传和下载的速度
 断点按钮:点击后将指定的请求打上断点
撰写按钮:可以新建一个请求或者在原有的请求基础上修改请求
重复请求按钮:选中请求后点击按钮,将所有请求重复请求一次
验证按钮:验证返回的Html信息。将这些返回发送到W3C HTML验证器、W3C CSS验证器和W3C Feed验证器来验证记录的相应。

 

常用功能操作:
1.模拟慢速网络:Proxy—Throttle Settings(快捷菜单中的节流按钮)
适用场景:模拟慢速网络或者高延迟的网络。
勾选:Enable Throttling按钮就可以打开限速。
在Throttle Preset中可以直接选择已经预设的模式,也可以根据自己需要调整参数。
可以对指定的请求进行单独的限速,勾选:Only for selected hosts—Add—添加指定的请求地址。

2.断点功能:Proxy—Breakpoints Settings(快捷菜单中的断点按钮)
适用场景:需要修改一次网络请求或返回结果。一般用于临时性的修改。当指定的网络请求发生时,Charles会接获该请求。
(1)两种设置的方式:
a.勾选:Enable Breakpoints按钮,点击Add按钮,添加需要打断点的请求信息  ctrl +K

 


b.选中需要打断点的请求,右击—选择Breakpoints,即可将该请求打上断点。默认请求和返回都被打断点,可以通过a的方式进行修改。
(2)指定请求打上断点后,再次请求,根据设置会拦截相应的请求或者返回,此时修改相应的内容后,点击Execute按钮。

 

3.重写:Tools—Rewrite
适用场景:需要对请求和相应进行修改时,如添加或更改头信息、替换响应内容等。该功能跟断点功能类似,更适用于一个请求需要多次重新的情况。
a.添加指定的请求
b.选择重写请求或者返回,然后添加需要重写的信息

4.代理设置:Proxy—Proxy Settings
HTTP Proxy中设置端口,默认为8888。

6.访问控制设置:Proxy—Access Control Settings
在抓取手机网络请求的设置中,会出现是否允许链接的提示框
如果选择了“Allow”按钮,会自动将手机IP地址填写到Access Control Settings的窗口中。
如果不小心选择了“Deny"按钮,没有关系,可以自己将IP地址配置到窗口中。

7.重复请求:Tools—Repeat
适用场景:后端修改后,需要前段重复请求时,选中指定请求,点击Tools—Repeat按钮或者右键—Repeat。

8.高级重复请求:Tools—Advanced Repeat
适用场景:可以用于服务器的压力测试

五、其他操作
**1.记录设置:**Proxy—Recording Settings
Options:设置记录请求的限制
Include:当只需要抓取指定网站的请求,可以在该页面中添加指定的请求方式和地址
Exclude:不抓取该列表中填写的网络请求

2.反向代理:Proxy—Reverse Proxies Settings。
适用场景:对于本地开发需要使用域名的情况下非常适用。
勾选:Enable Reverse Proxie。点击Add按钮,添加相应的信息
如下图,将本地端口50143端口映射到www.baidu.com域名的8080端口

3.转发端口:Proxy—Port Forwarding
适用场景:监控TCP数据时,对端口进行转发
勾选:Enable Port Forwarding。点击Add按钮,添加相应的信息

5.外部代理:Proxy—External Proxy
适用场景:把经过Charles的请求转到其他代理服务器,适用于特殊情况下需要用到两个软件的特点进行开发。
填写代理服务器的IP和端口后,可以在Charles和代理服务器中同时捕捉到相同的http请求。

6.网络页面设置:Proxy—Web Interface Settings
适用场景:清除Session操作,开启后需要指定匿名可以访问或者账号密码访问

7.禁用缓存:Tools—No Caching
适用场景:防止客户端应用程序缓存任何资源。禁用后会始终向远程网站发出请求,始终获得最新版本
可以对所有请求禁用缓存,也可以对指定的请求禁用。

8.禁用Cookies:Tools—Block Cookies
适用场景:阻止Cookies的发送和接收,可用于模拟网络爬虫网站的视图。
可以对所有请求禁用,也可以对指定的请求禁用。

9.远程映射:Tools—Map Remote Settings
将from的站点映射到to的站点,从新站点提供响应。

10.本地映射:Tools—Map Local Settings
适用场景:开发调试时,可以将远程网站映射到本地文件。本地文件的内容返回给客户端,跟正常的远程相应一样。

11.黑名单设置:Tools—Black List
列入黑名单的域名请求任何页面时,该请求都将被阻止。

12.白名单设置:Tools—Write List
仅仅允许被输入的域名。如果一个请求同时存在黑名单和白名单时,该请求会被阻止。

13.DNS欺骗:Tools—DNS Spoofing Settings
将自己的主机名指定给远程地址映射来欺骗DNS查找。
适用场景:上线前需要在测试环境中验证,手机客户端请求的域名不太容易更改,可以通过设置dns方式把域名转发到测试机上进行测试。

14.镜像:Tools—Mirror
适用场景:浏览指定站点时,把接收的相应内容克隆一份,保存在指定路径下。如果收到同一个URL的两次请求,最后一次的请求将覆盖已经存在的同名文件。

15.自动保存:Tools—Auto Save
按照设置的时间间隔自动保存和清除记录会话。

16.客户端进程:Tools—Client Process
可以查看到原始进程的请求,适用于抓取PC端的请求

17.编辑修改请求:Tools—Compose、Tools—Compose New。对应快捷菜单:撰写按钮。
a.选中指定的请求,勾选:Tools—Compose;或者右键—选择Compose
b.复制了选中请求的信息,在右边的框中可以对所有信息进行修改。点击Execute按钮执行。
新建一个请求,选择Compose New:添加请求信息于上图操作一致

18.验证:Tools—Validate:与快捷菜单中验证按钮功能相同

19.发布要点:Tools—Publish Gist
将选择的请求和响应作为要点发布,可以授权Charles适用GitHub账号进行发布。

原文地址:https://www.cnblogs.com/yaohu/p/13854699.html