Charles抓包工具系列文章(三)-- 接口映射工具(Map Remote和Map Local)

一、背景

前文的http请求都是静态的,像compose a new request,仅适用于接口的自测。

回放repeat 一个 http 请求,也无法做到动态调试。

这里的动态还是静态,是站在客户端的角度,数据是实时的,可调试的。

调试的返回数据报文,又可以分为两种:

  • 本地Local
  • 远程Remote

本地Local,不变的数据,类似于Mock数据,但对客户端是透明的。

远程Remote,实时变化的数据,存储在远程服务。好处是,可断点调试接口。

本文的重点是远程Remote方式,无论客户端访问的是测试环境还是生产环境,都可以被转发到你本地的环境。

二、架构

1、Map Local

2、Map Remote

三、Map Local

适用于以下场景:

  • api接口重定向
  • js/css重定向
  • html重定向

1、api接口重定向

把响应报文存储在本地文件里,修改为你需要的报文,最后设置Map规则。



接口的映射规则匹配后,直接返回本地Json文件的内容。见上~

2、js/css重定向

对于前端来说,数据不在本地,当需要调试页面样式的时候,可以把js和css请求转发到本地。

3、html重定向

跟上面的类似,方便前端开发人员调试页面,因为本地没有数据。

四、Map Remote

把192.168.80.226:9039请求转发到192.168.10.19:9039上。

把客户端的请求转发到远程服务器,填写Map规则,示例见下:

把客户端以/api/v1/work/*开头的接口转发到后端服务。

这个后端服务,可以是任何机器上的应用进程,包括本地。

适用于以下场景:

  • 测试环境的接口转发到本地
  • 接口调试

五、总结

通过接口映射工具,可以轻松修改客户端的响应报文,注意不能修改请求报文!!

如果需要修改请求报文,需借助于另外一款工具: Rewrite 。

从这里也可以看出来,如果你的服务使用http协议,使用代理工具charles后,就可以随意修改接口的响应报文。

期望展示的是图片A,结果看到的是图片B,出现"宜春是一座叫春的城市",也就不奇怪了。

附录

Charles抓包工具系列文章(一)-- Compose 拼接http请求
Charles抓包工具系列文章(二)-- Repeat 回放http请求
Charles抓包工具系列文章(三)-- 接口映射工具(Map Remote和Map Local)
Charles抓包工具系列文章(四)-- Rewrite 重写工具
Charles抓包工具系列文章(五)-- DNS spoofing (DNS域名伪装)
Charles抓包工具系列文章(六)-- Block List 和 Allow List (黑白名单)

相关推荐
weixin_416667963 小时前
【无标题】
运维·服务器·网络
予昊4 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
上海云盾-小余6 小时前
流量攻击复盘:为什么 WAF 完好,业务依旧瘫痪
运维·服务器·网络
戴西软件6 小时前
戴西iDWS.3DViz Suite数据轻量化可视化软件,从传统桌面软件向云端协同的重大突破
大数据·运维·网络·人工智能·机器学习·3d
芯盾时代6 小时前
《金融业网络安全管理办法(征求意见稿)》全条款深度拆解(三)
网络·安全·网络安全
米饭不加菜6 小时前
ESP-01S通过TCP直接与手机建立通信
网络·tcp/ip·智能手机
Huathy-雨落江南,浮生若梦7 小时前
Caddy 学习笔记 - 反向代理与 IP 封禁
笔记·学习·tcp/ip
闲云野鹤在人间7 小时前
OpenStack架构介绍和安装流程
linux·网络·架构·openstack
xx~t7 小时前
嵌入式——Linux软件编程——网络1
linux·c语言·网络·vscode·网络协议
国科安芯9 小时前
星载CAN总线通信网络中抗辐射MCU的通信可靠性设计分析
网络·人工智能·分布式·单片机·嵌入式硬件·架构