charles中proxy菜单的介绍

charles中proxy菜单的介绍;

我的是4.1.2版本,mac系统下的菜单大同小异;

如下图;

 

这里其实都是常用的功能;

大概可以分为5个大块,看下分割线就可以了;

一、常用功能开关区

  • stop/start recording        开始/暂停记录
  • stop/start throttling        开始/暂停节流
  • enable/disable breakpoints     启用/禁用断点

二、常用功能设置区

  • recording settings            记录设置
  • throttle settings            节流设置
  • breakpoint settings        断点设置

三、反向代理和端口转发区域

  • reverse proxies            反向代理
  • port forwarding            端口转发

四、charles的代理身份配置区域

  • windows proxy                Windows代理(开启整个系统通过charles作为代理)
  • mozilla firefox proxy        火狐代理

五、常用的高级设置区

  • proxy setting            代理设置
  • ssl proxy setting            ssl代理设置
  • access control setting        访问控制设置
  • extornal proxy setting        外部代理设置
  • web interface setting        Web界面设置

一、常用功能开关区详解

1.1、 stop/start recording 和 2.1 recording settings

是常用的功能了;这里需要注意就是后面的session1代表当前你将要操作的会话窗口;就是切换是否进行捕获记录;

注意:这里的开关只是是否记录信息的开关,并不是charles的开关;也就是说如果你stop recording 那么只是界面上不再抓取信息了,charles还是一直会工作的;

如果你想实现,你可以在window菜单喜爱 active connerctions 查看当前活动的连接信息,你访问的时候,这里会一直记录的;

这个功能是和下面是常用工具栏中一个”类似单选框”的图标是一个功能;

recording settings 主要对常见是进行设置

限制记录大小;

限制记录的历史

显示websocket的设置;

下面的Imporet和export分别的资源的导入和导出,类似PSD文件一样,详细的储存,方面直接导入使用;但是仅仅是储存当前的设置,其实我认为并没有什么鸟用;其它窗口的Imporet和export分别代表当前的配置储存和导出,碰到就不再复述了;

这个Include/包含设置,如果你用的不恰当,很可能就把你自己给坑了;

如果你些了百度的域名进入,那就是charles值抓取百度的访问记录;其他域名的统统跳过;你可能感觉这并没有什么问题,毕竟这可以让你集中注意力的;但是如果你忘记关了,或许过了某一天,你又开始进行抓包设置了,当时你会看到charles虽然打开的,你也开了star recording,而且也可以正常访问;但是记录面板屁都没有;如果你遇到这种情况,你要记住,你遇到的问题可能就是设置了这里;因为只有你设置的才有记录信息啊;个人非常不建议这么用,你可以通过焦点域名来规避可能存在的这种问题;

如果你因为特殊原因不得不使用这里的设置,那么设置前你一定要清楚,你下次再次进入的时候可能会存在没有记录信息的情况;

“只有与你设置的信息才会记录,如果列表为空,除非在exclude里有排除信息,否则将记录所有请求”

下面这个选项就是排除的;

如果你把这里的设置了排除www.baidu.com域名下的所有设置,那么当你访问www.baidu.com的时候,就不会被记录

同时在include和exclude里设置www.baidu.com ,那么该域名会被屏蔽;

1.2、 stop/start throttling 和 2.2 throttling settings

暂时开始慢网速,这个说实话,我自己是不常用的,也就偶尔上线测试看下,或者查看可能存在的加载导致错误,很多次上线钱我甚至都忘记看了;

这个说的直白点,就是模拟手机上2G/3G/4G的速度;让你感受下慢网速的蛋疼之处,从而逼迫你优化你的代码;嗯,就是这样的功能;

同时需要注意你的慢速设置,当你不用的时候请记得关闭它,否则访问速度就是你设置的限制速度。。

这个对应工具栏的的小乌龟图标,

 

设置如下

一般选择多少网速就可以了,下面默认即可;

注意如果你本身网速快;是限速;如果你网速low,你选个100Mbps的,其实也到不了的;

1.3、 enable/disable breakpoints 和 2.3 breakpoints settings

断点设置是常用的了,没啥好说的了,可以设置你需要断点的域名等;

三、反向代理和端口转发区域

这个比较有逼格了;

正向代理和反向代理的区域:

正向代理:是代理客户端,为客户端收发请求,使真实客户端对服务器不可见;在客户这一端的,替客户收发请求(类似现在正常使用的charles的功能)
反向代理:是代理服务器,为服务器收发请求,使真实服务器对客户端不可见;在服务器这端的,替服务器收发请求,应用场景常见是就是请求分发到多台服务器的负载均衡应用。

一句话就是:

正向代理:代理端代理的是客户端。
反向代理:代理端代理的是服务端。

反向代理的设置

本地端口;

本地主机上的端口创建反向代理。该字段可能会自动填充一个可用的端口。如果有另一个应用程序使用该端口,则在反向代理启动时将收到一条警告消息。

例如。给定本地端口8001,您将连接到http:// localhost:8001 /

远程主机和端口

作为反向代理的目的地的远程主机的主机名或IP地址和端口。远程端口默认为80,这是HTTP的默认端口。

例如。输入xk72.com的远程主机和80的远程端口,然后http:// localhost:8001 /将像您已连接到http://xk72.com/

选项

重写重定向

重定向远程服务器的响应将被重写以与反向代理源地址相匹配。默认为开。
远程服务器的重定向响应是完全限定的URL,即使它们在同一网站内。

如果重定向到远程服务器地址,则需要将其重写为反向代理本地地址,否则客户端将使用重定向URL到远程主机,因此不再通过反向代理连接。

保留主机头

Host HTTP标头从传入请求不变地传递,而不是正常重写主机头以匹配反向代理远程主机。默认为关闭。

仅当您具有特定要求时,才需要保留主机头;普通使用的时候没有必要使用的。

监听特定地址

如果要指定本地地址以侦听反向代理,则可以启用此选项并在此处输入IP地址。如果要在同一台机器上运行多个网络服务,但在同一台机器上的不同IP地址上运行,则此功能非常有用。

禁用此选项时,反向代理将绑定到所有可用的本地地址。

端口转发

端口转发(Port forwarding),有时被叫做隧道,是安全壳(SSH) 为网络安全通信使用的一种方法。端口转发是转发一个网络端口从一个网络节点到另一个网络节点的行为,其使一个外部用户从外部经过一个被激活的NAT路由器到达一个在私有内部IP地址(局域网内部)上的一个端口。


端口转发使您能够将本地TCP或UDP端口透明地转发到远程主机和端口。 所有在端口的请求和回复可能会记录在查尔斯。

端口转发流量记录在Charles中作为socket:// host:port / URL
如果您有要使用Charles监控的非HTTP应用程序,则端口转发非常有用。

将端口创建到原始目标服务器,然后将客户端应用程序连接到本地端口; 端口转发对客户端应用程序是透明的,并使您能够查看Charles先前可能无法使用的流量

例子

您可以将本地主机上的TCP端口2525转发到远程主机上的端口25。 然后当您连接到localhost时:2525 Charles将透明地将流量转发到远程主机,就像您直接连接一样。 您会看到在Charles中记录的流量为socket:// localhost:2525 /。

当然了,这些功能我平时都用不到;

四、charles的代理身份配置区域

这里应该没啥好说的了,

window/MAXCos proxy 是charles的代理启用开关;

如果你选中,则表示电脑使用charles作为代理(这里就是正向代理),取消同理;

因为为不用火狐浏览器,下面也是一样的道理,就不做说明了;

注意;如果你使用的是chrome,并且有用chrome的host相关扩展工具;

请暂时关闭你的chrome扩展,并把代理设置为本机,否则charles是捕获不到的;

如上图,此时为使用了Host Switch Plus 这个host管理工具,此时为在chrome里是所有访问,都不会出现在charles里;

(如果你只想看到手机上的访问,电脑的chrome全部不捕获,可以使用扩展工具的方法,暂时避免,可以让你更集中);

关闭扩展程序后,默认即可,或者在 Chrome 中设置成使用系统的代理服务器设置即可,或者直接将代理服务器设置成 127.0.0.1:8888 也可达到相同效果。

五、常用的高级设置区

proxy setting

(代理设置)

设置的主界面如下:

动态端口

启用动态端口选项来监听动态端口,每次查询启动时选择。这样可以避免与计算机上可能运行的其他网络服务的冲突,包括Charles的其他实例(如果是共享计算机)如果你开的端口很多,搞到你自己都记不清楚了,那么推荐你用这个;但是我都是写好一个端口的,比如代理写8888,别的就不会监听这个端口了,而且为了手机方便连接,都是使用指定好的端口。

注意;如果你charles设置了8888的端口,别的服务就不能再使用这个端口号了,否则冲突会发生意外的错误;

透明的HTTP代理

透明代理使Charles能够支持不支持HTTP代理服务器的客户端,或者不知道他们正在使用HTTP代理服务器,例如TCP / IP连接由路由器或防火墙重定向到Charles。这里可以被手机连接;

手机连接的时候,http代理那里写=选手动,并填写此时charles的本机地址和上面设置的8888端口即可;

options 里 主要是设置 绕过代理

这里可以设置您的浏览器/操作系统遇到哪些域名的时候,使用默认而不用Charles;配置的列表使用空格或逗号分隔,并在Charles配置其代理设置时注入浏览器。 有关详细信息,请参阅操作系统和浏览器特定选项卡。

后面系统代理和火狐浏览器的就不写了,主要是一些开关和配置,因为也不用火狐,都默认就可以了;

SSL Proxying Srtting

这里最常用的设置就是第一个ssl proxying,这里记录了需要捕获哪些ssl的信息;

注意,如果你不在这里设置,虽然你安装了ssl的charles证书,你依然无法正常捕获;

通过SSL代理,您的浏览器或应用程序将收到由Charles签名的证书,而不是来自远程Web服务器的原始证书。这将在您的浏览器或应用程序中触发警告,某些应用程序实际上可能会拒绝该连接。
您可以将浏览器或应用程序配置为接受Charles的证书;

具体请查看 http://www.charlesproxy.com/ssl 的说明,或者“帮助”菜单中的“SSL代理”菜单。

为在这里设置了通配符,表示为要捕获记录所有ssl协议的请求和响应;

具体请查看 Charles的HTTPS抓包方法及原理

access control settings 访问账户设置

这里可以配置连接到charles时的一些配置;

这个访问控制确定谁可以使用这个charles,

本机是永远都可以访问的,默认的访问控制列表如果是空的;

意味着除了这台电脑以外,没有任何设备可以使用charles。

如果你把下面的提示开始,未经授权的设备连接时候会提示你是否允许;

类似下面这种提示框

当你手机访问的时候,电脑会提示的;

这里设置后的host,连接时候是无需确认的;

external proxy 外部代理设置

有时候您可能需要使用网络上的代理服务器才能访问Internet。在这种情况下,您需要为Charles配置外部代理。

您可以为每种代理类型配置身份验证信息。 Charles支持基本身份验证和NTLM身份验证。对于NTLM身份验证,您可以输入“域名”选项。
如果您没有配置身份验证和外部代理请求认证,Charles会将验证请求传递给浏览器,就像Charles本身正在请求身份验证一样。

排除列表
您可以输入绕过外部代理的loacation列表。

该列表是空格分隔的,每个location都是一个主机或ip地址与可选端口匹配(例如hostname:port),并且支持通配符。
请注意:之前的Charles自动在排除location列表中进行了前缀匹配。

在Charles 3.5中更改了支持全局通配符的系统。

Web Inerface

Web界面可以让您使用Web浏览器控制查询,您可以访问 http://control.charles ⬆️的Web界面,当查询运行时,您可以启用此功能并配置下面的访问控制;

首先你必须要开启web inter face,否则你访问http://control.charles的时候就提示你没有开启;如下的提示;

Charles Web Interface

The Web Interface is disabled. You can enable it in the Web Interface Settings in the Proxy menu.

 

未经允许不得转载:朱邦邦的WEB前端开发博客 » charles中proxy菜单的介绍

赞 (2)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址