鼠年全马铁人挑战 WEEK 37:封包测试工具 - Charles (二)

           Photo on charlesproxy.com


前言

上个礼拜简单的分享了 Charles 的安装与选项栏中的 Proxy 功能
而这个礼拜将会延续上礼拜的内容继续分享另一个较为常用的选项栏功能 Tools

分享重点

选项栏中的 Tools 功能介绍No Caching SettingsBlock Cookies SettingsMap Remote SettingsMap Local SettingsRewrite SettingsBlack List SettingsAllow List Settings

介绍 Charles

选项栏 - Tools

No Caching Settings (设定禁用缓存)
  缓存对 Web 来说是非常重要的存在
  因为经常会在多个页面中重複使用相同的资源
  大幅减少每个页面都需重新加载的问题
  但是,缓存可能会导致看不到资源的最新版本
  对于开发应用程序会是一大障碍
  No Caching 可以防止 Client 应用程序缓存任何资源
  可以透过 Import/Export 来汇入或汇出设定内容

  "Enable No Caching":防止所有请求缓存资源
  "Only for selected locations":透过 Add 防止指定请求缓存资源

Block Cookies Settings (设定禁用 Cookie)
  禁用 Cookie 非常适用于测试网站
  就像是在浏览器中禁用了 cookie 一样
  爬虫(例如Google)通常不支持 Cookies
  Block Cookies 可以阻止 Cookie 的发送和接收
  可以透过 Import/Export 来汇入或汇出设定内容

  "Enable Block Cookies":阻止所有请求 Cookie 的发送和接收
  "Only for selected locations":透过 Add 阻止指定请求 Cookie 的发送和接收

Map Remote Settings (设定远程映射)
  如果拥有应用程序的开发版本
  并且希望能够浏览以及从开发版本中获取一些请求
  则 Map Remote 将非常实用
  Map Remote 会根据映射更改请求站点
  以便从新站点提供回传内容,就跟原始请求一样
  可以透过 Import/Export 来汇入或汇出设定内容

  "Enable Map Remote":透过 Add 来进一步设定远程映射的内容

  通过此设定就可以从另一个站点提供全部或部分站点
  每个站点匹配包含 Protocol, Host, Port, Path 与 Query

  而映射的类型也可以简单地分为几种

将目录映射到目录

e.g. xk72.com/charles/ 映射到 localhost/charlesdev/

将文件映射到文件

e.g. xk72.com/charles/download.php 映射到 abc.com/testing/test.html

将带有文件模式的目录映射到目录

e.g. xk72.com/charles/*.phplocalhost/charlesdev/

Map Local Settings (设定本地映射)
  如果必须将文件上传到网站以测试结果
  那透过 Map Local 将大大加快开发和测试速度
  Map Local 可以使用本地文件 就像是远程网站的一部分一样
  本地文件的内容像正常的远程响应一样返回给 Client 端
  可以透过 Import/Export 来汇入或汇出设定内容

  "Enable Map Local":透过 Add 来进一步设定本地映射的内容

  每个站点匹配包含 Protocol, Host, Port, Path 与 Query

补充说明

Map Local 不会执行动态文件,因此如果文件中有任何脚本,脚本将按原样返回到浏览器,这可能不是预期的结果。如果想使用动态文件,就好像它们是远程网站的一部分一样,可以使用 Map Remote。

Rewrite Settings (设定重写)
  Rewrite 可以创建请求和响应来修改他们的规则
  而在左侧显示的 Rewrite 清单可以单独激活和停用
  每个集合都包含了 Location 和 Rule 的设定内容
  可以透过 Import/Export 来汇入或汇出设定内容

  "Enable Rewrite":透过 Add 来进一步设定重写的内容

  每个站点匹配包含 Protocol, Host, Port, Path 与 Query

  每个规则可以根据 Request, Response 进行设定
  接着就可以进一步定义 搜索(MAtch) 或 替换(Replace)

使用技巧

当 Rewrite 无法正常运作时,可以尝试添加一个非常基本的规则,这样就可以查看规则是否与请求完全匹配。并且透过选项栏 "Window" 的 "Error Log" 来获取一些信息

Black List Settings (设定黑名单)
  Black List 用于仅屏蔽指定的域名
  透过新增来输入应该被阻挡的域名
  被列入黑名单的域名的所有请求将被阻挡
  可以透过 Import/Export 来汇入或汇出设定内容

  "Enable Block List":透过 Add 来进一步设定黑名单的内容
  "Blocking action":透过选取来决定当请求不匹配时的处理方式
    "Drop connection":从浏览器中关闭连接
    "Return 403 response":浏览器返回错误页面

补充说明

如果一个请求同时匹配黑名单与白名单 则该请求将被阻止

Allow List Settings (设定白名单)
  Allow List 用于仅允许指定的域名
  透过新增来输入仅被允许的域名
  被列入白名单的域名之外的所有请求将被阻挡
  可以透过 Import/Export 来汇入或汇出设定内容

  "Enable Allow List":透过 Add 来进一步设定白名单的内容
  "Blocking action":透过选取来决定当请求不匹配时的处理方式
    "Drop connection":从浏览器中关闭连接
    "Return 403 response":浏览器返回错误页面

补充说明

如果一个请求同时匹配黑名单与白名单 则该请求将被阻止


结尾

这週的内容主要是在介绍 Charles 的 Tools 选项栏中的功能
但是因为内容过多所以将 Tools 的分享内容给拆分了两个部分
下週小弟将会把 Tools 的后半段功能分享完毕

而小弟也是新手使用的分享文
所以介绍的内容可能有遗漏或是错误,还请各位大哥大姐提点
小弟将继续往下週迈进。 ─=≡Σ((( つ•̀ω•́)つ


参考文献

官方网站 (载点)

Charles Web Debugging Proxy • HTTP Monitor / HTTP Proxy / HTTPS & SSL Proxy / Reverse Proxy

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章