Skip to main content

标记/替换流量

在日常的工作中,我们需要对测试的目标网站进行流量分析;当然除了在分析流量之外,我们经常需要涉及一些操作,以实现对流量的修改。

作为一个合格的工程师,任何时候掌握对流量的完全控制权其实是非常重要的基本技能。

该功能主要是替换数据包中符合规则的内容,比如替换数据包中自己的敏感信息,对数据包进行颜色标记或者打上标签,方便对数据包进行分类,或快速找出自己感兴趣的数据包。

导入/导出规则#

在启动 MITM 之前,我们就可以配置这些规则,当然,我们也可以在 MITM 劫持过程中动态修改。

首先,在开始劫持页面的内容规则选项我们可以看到 ①默认配置导入配置导出配置 三个与内容规则相关的操作选项。我们点击默认配置选项。

在弹出的对话框中,点击 ①使用默认配置,导入JSON以后,点击 ②导入

即可看到成功导入官方默认的55条规则内容,如果想使用其他规则,只需将JSON文件复制进来,点击导入即可。

注意全部替换是本地导入的规则是否需要覆盖之前导入的规则,如果是新增规则请将全部替换关闭,如果是想进行覆盖,则可开启全部替换。

点击内容规则旁边的小齿轮,即可查看官方默认规则内容,官方规则如图所示

点击右上角的导出配置,可以将规则导出为JSON文件,可将文件进行分享给他人使用。

新建/编辑规则#

在劫持页面点击右上角规则配置可以查看已有规则

编写规则的部分采用 Golang 风格正则表达式:推荐使用 https://regex101.com/ 调试,规则如果编译失败,则自动降级为关键字匹配

已有的规则可以进行编辑操作,或者新增规则,编辑或新增以后点击添加该规则修改进行保存

标记替换流量案例#

标记替换文本

在规则内容页点击右上角新增规则,然后对每个选项进行配置。

非常简单的配置就可以实现 “百度一下” 变为 YAK一下!

细节说明#

  1. 这些规则是 针对代理全流量的,不光会对用户在 History 看到的过滤后的请求生效,对一些已经被过滤掉的 JS 或者静态文件都是生效的,编写简单规则务必明确场景

  2. 规则的执行顺序是有意义的

  3. 规则基于 Golang 风格正则/Glob/关键字, 采取降级策略:即如果无法编译为正则,将会最后被降级为 “关键字” 匹配。

  4. 替换后的数据包将会被自动修复,用户不需担心数据包毁坏协议