Charles抓包工具系列文章(四)-- Rewrite 重写工具

一、背景

这是一款比Map Local/Remote 还强大的工具,更加灵活,体现在以下几点:

  • 重写request报文
  • 重写response报文
  • header 字段的增删改
  • query param 字段的增删改
  • 重写 body 字段
  • 改写http 响应状态status
  • 重写host/url/path

从这也可以看出其强大得不是一点点,下面演示每种重写的具体操作。

二、实现类似的Map Remote


新增重写规则,规则名称是任意的。

包括两部分:匹配规则和重写规则。

1、匹配规则

新增 rewrite 规则,要求Host / Port / Path 三者都匹配。

2、重写规则

Type类型选择Host, 改写请求Host地址。

三、重写header 字段

支持对http header字段进行增删改。

  • 增加header字段

  • 修改header字段

http header "x-gray"的值原本是true,被重写为 modified

  • 删除http header字段

删除http header字段 x-gray,因为是删除操作,所以无需输入其value, 更没有Replace之说了。

四、重写response报文

http response 响应报文中的msg原本是successful,被重写为期望的报文"charles rewrite response"。

五、改写Response Status

  • 把状态码200修改为302

  • 404错误

六、Query Param的增删改

限于篇幅,就不像http header字段的增删改那样逐一举例了。

这里举例Query Param的增加字段。

七、总结

因为重写的规则比较细,如何使用要视具体情况,可以替换上一篇文的Map Local/Remote。

也正因为如此,使用起来相对复杂。

最后说一句,重写规则是可以同时维护多个规则的,不仅限为一个规则。

所以说,Rewrite工具是Map Local 和 Map Remote两者的综合体。

相关推荐
Trouvaille ~26 分钟前
【Linux】网络编程基础(二):数据封装与网络传输流程
linux·运维·服务器·网络·c++·tcp/ip·通信
柱子jason1 小时前
使用IOT-Tree Server模拟Modbus设备对接西门子PLC S7-200
网络·物联网·自动化·modbus·西门子plc·iot-tree·协议转换
Arvin6272 小时前
研发环境:SSL证书快速部署
网络·网络协议·ssl
Trouvaille ~2 小时前
【Linux】网络编程基础(三):Socket编程预备知识
linux·运维·服务器·网络·c++·socket·网络字节序
酣大智3 小时前
DHCP中继配置实验
运维·网络·网络协议·tcp/ip·华为
小义_3 小时前
【RH134知识点问答题】第6章 管理 SELinux 安全性
linux·网络·云原生·rhel
REDcker3 小时前
RTSP 直播技术详解
linux·服务器·网络·音视频·实时音视频·直播·rtsp
丁劲犇3 小时前
CentOS 7.6 TCP连接奇慢故障排查:中文注释引发的sysctl配置异常
linux·tcp/ip·centos·速度慢
阿猿收手吧!4 小时前
【C++】异常处理:catch块执行后程序如何继续
服务器·网络·c++
FLGB4 小时前
Docker网段和服务器内部网段172.17 网段冲突导致网络不通
服务器·网络·docker