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两者的综合体。

相关推荐
hello_2501 小时前
动手模拟docker网络-bridge模式
网络·docker·桥接模式
武文斌771 小时前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
爱吃喵的鲤鱼1 小时前
仿mudou——Connection模块(连接管理)
linux·运维·服务器·开发语言·网络·c++
爱吃小胖橘1 小时前
Unity网络开发--超文本传输协议Http(1)
开发语言·网络·网络协议·http·c#·游戏引擎
萧鼎2 小时前
Python schedule 库全解析:从任务调度到自动化执行的完整指南
网络·python·自动化
7哥♡ۣۖᝰꫛꫀꪝۣℋ3 小时前
网络层--数据链路层
网络·tcp/ip·智能路由器
_清浅3 小时前
计算机网络【第四章-网络层】
网络·计算机网络·智能路由器
沐浴露z3 小时前
【深入理解计算机网络08】网络层之IPv4
网络·计算机网络·网络编程·信息与通信·408
望获linux5 小时前
【实时Linux实战系列】实时系统的可观测性:Prometheus 与 Grafana 集成
大数据·linux·服务器·开发语言·网络·操作系统
红尘客栈26 小时前
K8s-kubeadmin 1.28安装
java·网络·kubernetes