charles的与安装使用以及我们平时使用charles容易遇到的问题

author author     2022-09-11     451

关键词:

      上班已3个月了,突然想自己确实该总结和反思呀,最近的教训和收获,本人做的是测试,3个月的适应之路,走得感触颇多,觉得做测试,主要是思维要发散,想常人所想也想常人不常想,今天趁工作闲暇之余,给大家总结下Charles的安装和使用。

1.1Charles的安装:

      以Charles4.1版本为例,下载地址:http://baoku.360.cn/soft/show/appid/100821

安装步骤为,一路下一步

1.2  Charles的使用

      Charles一个HTTP代理服务器,HTTP监视器,反转代理服务器·Charles支持抓去http、https协议的请求,不支持socket。它允许一个开发者查看所有连接互联网的HTTP通信·这些包括request, responseHTTP headers (包含cookiescaching信息),开发者可以使用它方便的抓取http、HTTPS请求。可以进行简单的性能测试、弱网测试,除了对于PC端进行代理之外,还可以抓取客户端(手机、iPad等)数据。除了以上功能之外,Charles还支持Reverse Proxy, Port Forwarding端口转发,访问控制,cookie清除,Map Remote,黑名单等功能,且 charles不仅支持Http代理,也支持SOCK代理。这样就可以支持对所有协议的进行抓包。但是一般不长常用。

   Charles有Sequence模式和Strucure展现形式。

    Mac系统看是否已默认默认就已经对系统进行了代理,如果没有,则需要在菜单栏的Proxy上勾选上Mac OS X Proxy

   charles对于抓取的包可以进行保存,等下次要分析时,在打开。Filter可以对请求进行过滤,并且支持通配符,比如只想查看以包含365rili且以.do为结尾的请求,可以在Filter中设置365rili.*.doOverview可以更加详细的查看这次请求的详细内容,例如耗时详细列车了请求开始时间、结束时间,响应开始时间、结束时间,总耗时、DNS耗时、网络延时等。

对于Size也详细列出了请求头大小、响应头大小、压缩比例等内容。如果想查看更详细的请求信息,比如Headercookieform表单等可以点击Request,类似查看详细的响应选择Reponse

除了对于PC端进行代理之外,还可以抓取客户端,在Proxy->Proxy Settings中设置代理端口号:例如8888,把代理模式设置为手动,设置主机名为Charles所在机器的ip,端口号为Charles配置的代理端口。这样手机客户端的所有http请求,都会被charles代理。可以方便的查看客户端的http请求。

1.2.1 重放与编辑

    点击一个请求,双值点击触摸板,可以对该请求进行复制、保存、重放和编辑操作。可以设置重放次数和并发数。

 Edit:编辑修改功能,可以编辑修改任意请求信息,比如表单信息、cookie等,修改完毕后点Execute就可以发送一个修改后的请求数据包。

       1.22 包含和排除设置

   可以通过Proxy->Recording Settings设置需要抓取哪些包、排除哪些包,通过设置抓取的请求规则,只抓取能匹配这个规则的请求,同时可以在Exclude中设置需要排除的请求。

Include与主界面中的Filter的不同点是,不被包含的请求Charles不会抓取,而filter只是把不符合条件的不进行展示,Charles实际已经抓去了,把过滤条件去掉之后仍会显示。

     1.23 限流设置

    有时候开发中需要测试用户在网络情况比较的差的时候应用的表现情况,可以使用Charles限流设置,Proxy->Thorttle Settings中设置,可以设置宽带、延迟等,并可以限制只对哪些hosts进行限流设置。

      1.24 设置断点

有时候对于一些特殊请求在发往服务器之前想要修改一些参数,或者在服务器响应完成之后修改响应信息,此时可以使用Charles的断点功能:当请求来的时候,Charles会停在断点处:点击Edit Request可以对请求进行修改。对于Response类型的断点也类似。

     1.25 No Caching Settings

可以在Tools->No Caching Settings中设置不缓存。这样对于每个请求会在request中添加两个Header:

Pragma:no-cache、Cache-Control:no-cache,但是否起作用需要服务器对这两个Header支持才行。

    1.26 DNS Spoofing Settings

一般的开发流程中,在上线之前都需要在测试环境中先行进行验证,而此时手机客户端请求的域名是不太容易改变的,可以通过设置dns方式把域名转发到测试机上,具体设置Tools->DNS Spoofing Settings.

    1.27 Map Local Settings

    对于前端开发来说,对html页面,js或者css等进行调整后需要配置线上的接口来查看最终样式,直接部署到生产环境可能会有风险,并且也不方便随时修改,可以使用Map Local Settings的方式,把线上的静态资源映射到本地,这样当请求静态的htmljscss等资源的时候会使用本地的信息,方便及时看效果。

     1.28 SSL

     Charles不仅能够抓取http协议的包,也能抓取https协议的包,但是由于https是经过加密的,因为抓取的包中的内容是以密文方式展现的,通过配置CharlesSSL可以方便的以明文查看https协议传输的内容。在Proxy->Proxy Settings->SSL中设置.

对于PC端浏览器需要添加Charles的证书到信任列表,而对于手机端也需要下载Charles的证书charlesproxy.com/charles.crt,然后进行安装。

1.3、charles使用问题汇总

    Charles是一款很好用的抓包修改工具,但是有时候往往因为不熟悉悉这个工具,会遇到各种感觉很莫名其妙的状况,下面给出我们平时经常遇到的问题以及其解决方案。

      1 为什么下载了不能用啊?打不开啊。

  因为charles是需要java环境才能运行的,需要先安装java环境才可以。

     2 为什么我用着用着就自动关闭了?大概30分钟就会关闭一次。

  因为charles如果没有注册的话,每次打开后就只能哟个30分钟,然后就会自动关闭,所以最好在使用前先按照说明去进行工具的注册操作。

   3 为什么我在操作的时候有时候就直接在工具界面卡住死了,关都关不掉,只能用任务管理器才可以关掉?

   这个是charles这个工具的一个bug,首先随便抓些包,要求有图片的请求。然后选中一个图片的请求,然后分别点击 Response - Raw 然后那里会加载其中的内容,然后加载完毕后,再去随便操作就可以了,就不会在悲剧的直接工具卡死掉了

   4 为什么用了charles后,我就上不了网页了,但是qq可以。

因为如果charles是非正常状态下关闭的话,那么IE的代理就不会被自动取消,所以会导致这种情况。

   解决办法:第一种:直接打开charles,然后再正常关闭即可。 第二种:去将IE浏览器代理位置的勾选去掉。

    5 为什么我用charles不能抓到socket和https的数据呢?

首先,charles是不支持抓去socket数据的。 然后,如果抓不到https的数据的话,请查看你是不是没有勾选ssl功能。 Proxy - Proxy Settings - SSL 设置

    6 为什么我用charles抓取手机APP,什么都是配置正确的,但是却抓不到数据。

首先,请确保电脑的防火墙是关闭状态,这个很重要。

如果,防火墙关了还是不行,那么请把手机wifi断掉后重新连接,这样一般就可以解决问题了。 如果以上方法还是不行的话,那么请将手机wifi位置的ip地址设置成静态ip,然后重启charles工具。

    7 抓包后发现form中有些数据显示是乱码怎么办?

请在Raw模式下查看,Raw模式显示的是原始数据包,一般不会因为编码问题导致显示为乱码。

    8 我用charles抓手机app的数据,但是同时也会抓去到电脑端的数据,可以设置吗?

可以,设置位置在Proxy - Windows Proxy ,勾选表示接收电脑的数据抓包,如果只想抓去APP的数据请求,可以不勾选此功能。

    9 为什么我用IE可以抓到数据,但是用360或者谷歌浏览器就不行?

请确保360或者谷歌的代码设置中是不是勾选设置的是 使用IE代理。

    10 想要复制粘贴某些数据的话,怎么办,右键没有相应功能啊?

请直接使用Ctrl +C 和 Ctrl+V 即可。

 

以上介绍的有限,更多内容见以下链接:

http://blog.devtang.com/2015/11/14/charles-introduction/

 

charles(v3.10.1)的抓包以及常见功能的使用

一、Charles的安装安装都不会,那就不用再往下看了。(*^__^*)嘻嘻……二、HTTP抓包1.查看电脑IP地址2.设置手机的HTTP代理手机连接到同一WiFi下设置HTTP代理:服务器为电脑IP一样,端口号设置88883.在电脑上打开Charles点击“... 查看详情

charles的安装及使用过程

...。该软件是用Java写的,能够在Windows,Mac,Linux上使用。安装Charles的时候要先装好Java环境。Charles的主要功能:(1)截取Http和Https网络封包。(2)支持重发 查看详情

charles安装使用

一、安装破解1.1下载安装包charles官网下载地址:https://www.charlesproxy.com/download/1.2安装charles基本上都是下一步下一步,点击完成即可,打开charles会提示只有30天有效期1.3破解第1步打开在线破解地址:https://www.zzzmode.com/mytools/charles/... 查看详情

charles抓包以及解决抓取https请求unknown的问题

...单栏选择Help→SSLProxying→InstallCharlesRootCertificate,将证书安装至电脑,并打开钥匙串访问。证书安装后,默认是不被信任的,所以我们需要将其设置为信任。在钥匙串中找到该证书CharlesProxyCA,并设置为始终信任,然后保存。这... 查看详情

charles学习之使用breakpoints拦截响应修改返回值更改用户会员身份

...移动端代理详情见Charles学习(一)之macOSCharles4.x版本的安装、激活、使用以及软件功能了解2、设置Breakpoints设置断点:找到要设置断点的链接,右键->Breakpoints  查看详情

mac上使用charles抓取websockets

参考技术A安装以及基础使用见:https://www.yuque.com/jessise/ir7gpw/zgg0ie注:勾选EnableHTTPproxyingoverSOCKSK可以同时抓取http的接口。手机上操作socks相关步骤,就可以看到已经可以抓取了,如下图,切换到WebSocket格式就可以看到sockets包了... 查看详情

卡在 Android TV / Fire TV 的 Charles 代理证书安装中

】卡在AndroidTV/FireTV的Charles代理证书安装中【英文标题】:StuckinCharlesProxyCertificateInstallationforAndroidTV/FireTV【发布时间】:2019-07-1510:09:41【问题描述】:我们最近开始在AndroidTV上工作,我们需要连接charles代理工具以简化开发过程... 查看详情

charles使用小结formacos

...使用过程遇到的问题,便于后续更加深入学习理解。一、安装配置charles代理1、官网下载最新版的charles和Charles.jar;2、设置移动端(android&IOS)http代理;3、安装PC和移动端的ssl证书,为了抓取https报文,PS:有时候Android和IOS安... 查看详情

python爬虫工程师必备工具charles的安装,以及爬取淘宝网+学ui网(代码片段)

...访问)。在下载目录中选择你的可用版本即可,安装过程很简单,遵循下一步原则。下载之后,从网络上寻找到了一些注册码,不注册也可以直接使用,不过软件每次使用30分钟,就会退出一次。CharlesS... 查看详情

charles--使用charles抓https包

1、电脑端安装SSL证书2、手机端安装SSL证书证书下载地址:https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/具体链接:https://www.charlesproxy.com/assets/legacy-ssl/charles.crt我测试使用的是IOS的系统,直接Safari打开后按照提升安装... 查看详情

charles使用教程

...使用Charles可能对下面的感兴趣。Charles破解版免费下载和安装教程Charles手机抓包设置Charles的https抓包方法及原理/下载ssl/http证书如果您已经正在使用Charles可能感兴趣下面的工具Charles禁止缓存工具Charles禁用cookies工具Charles远程映... 查看详情

charles的使用

...。该软件是用Java写的,能够在Windows,Mac,Linux上使用。安装Charles的时候要先装好Java环境。Charles的主要功能:(1)截取Http和Https网络封包。(2)支持重发网络请求,方便后端调试。(3)支持修改网络请求参数。(4)支持网络... 查看详情

charles的使用:安装证书

...要注意的是mac和手机必须连同一个wifi才可以。在手机上安装证书:help—sslproxy—installcharlesroot……browser,用手机浏览器访问提示的链接。 查看详情

如何使用charles对androidhttps进行抓包

你好,1、给Mac安装证书。打开Charles,在Menu选择SSLProxying>InstallCharlesRootCertificate,KeychainAccess(钥匙访问串)被打开,我们可以看到CharlesCertificate已经被安装,2、信任证书但此时该证书并没有被信任,双击该行弹出证书详情,... 查看详情

小米6使用charles抓包https

...ee-download-and-install-tutorial.html2.不要使用小米原装的浏览器安装证书3.使用第三方浏览器安装,如我使用的是UC浏览器4.使用第三方浏览器安装的证书格式是".pem"格式问卷5.将这个文件放入小米的download文件夹下6 查看详情

使用 Charles 会破坏我的 android studio 构建,但仅限于第 2 天

...0-04-0616:27:05【问题描述】:所以这是一个奇怪的问题。我安装了charles并在我的mac和我的android模拟器上安装了所有证书。我必须这样做,以便我可以使用一些仅在我们的工作***上可用的测试服务器,并且 查看详情

使用charles对android进行http抓包

...到服务端返回给手机的数据。也就是上面说的请求映射,使用方法: 然后,下次手机再请求这个接口时,返回的就是本地Response里的数据了。这时候就可以愉快地修改本地Response数据,想要返回什么数据就有什么数据。 查看详情

mac抓包工具charles使用(pc端)

一、安装Charles从官网https://www.charlesproxy.com/上下载Charles,输入注册码RegisteredName:https://zhile.ioLicenseKey:48891cf209c6d32bf4这个目前可以使用。二、配置Charles安装ssl证书,在帮助-》ssl证书-》安装Charlesca证书,安装之后对证书选择始终... 查看详情