拦截的艺术:面向前端开发人员和 QA 工程师的免费代理工具
代理作为桥梁:理解其在现代网络工作中的作用
如同峡湾在古老的山脉间蜿蜒流淌,代理服务器如同静默的中介,在客户端和服务器之间传输数据。对于前端开发人员和 QA 工程师来说,这位默默的观察者成为了洞察的工具——一个观察、操控和理解请求与响应之间错综复杂的循环的工具。在这些数字世界中,免费的代理工具如同流浪者的破旧靴子,每一步都展现出新的视角。
必备免费代理工具:概述
工具 | 平台 | 主要特点 | 使用案例 | 关联 |
---|---|---|---|---|
Fiddler 经典 | Windows、macOS、Linux(Mono) | HTTP/HTTPS 检查、流量篡改、脚本 | 调试 API 调用、会话重放 | https://www.telerik.com/fiddler |
Charles Proxy(免费试用) | Windows、macOS、Linux | SSL 代理、带宽限制、断点 | 移动应用程序调试、QA测试 | https://www.charlesproxy.com/ |
mitmproxy | Windows、macOS、Linux | CLI/TUI、脚本(Python)、WebSocket 支持 | 自动化测试、自定义流程 | https://mitmproxy.org/ |
浏览器 DevTools 网络选项卡 | 全部(基于浏览器) | 实时流量检查,请求修改 | 快速检查、调试 | https://developer.chrome.com/docs/devtools/network/ |
OWASP ZAP | Windows、macOS、Linux | 安全扫描、请求拦截、自动化 | 渗透测试、质量保证 | https://www.zaproxy.org/ |
HTTP 工具包 | Windows、macOS、Linux | 拦截、模拟响应、自动化测试 | API 模拟、调试 | https://httptoolkit.com/ |
Burp Suite 社区版 | Windows、macOS、Linux | 请求拦截、中继器、入侵者(受限) | 安全测试 | https://portswigger.net/burp/communitydownload |
Fiddler Classic:值得信赖的伴侣
在北国的暮色中,Fiddler 如同一座坚固的桥梁屹立不倒——可靠、熟悉、时刻警醒。它允许开发人员捕获和修改 HTTP 和 HTTPS 流量,如同一盏照亮 Web 请求隐秘路径的灯笼。
主要特点:
– 实时检查和修改 HTTP/HTTPS 流量。
– 使用 FiddlerScript 脚本支持自动执行模拟响应或重写请求。
– 会话重播以进行回归测试。
实际步骤:
-
安装:
下载地址 https://www.telerik.com/fiddler.
对于 Linux,使用 Mono 安装。 -
设置:
- 启动 Fiddler 并配置您的浏览器或系统以使用
127.0.0.1:8888
作为 HTTP/HTTPS 代理。 -
对于 HTTPS,信任 Fiddler 的根证书。
-
拦截并修改:
- 使用 Composer 来制作自定义请求。
- 使用自动响应器模拟 API 端点。
示例:模拟 API 响应
如果(oSession.uriContains(“/api/data”)){oSession.utilCreateResponseAndBypassServer(); oSession.oResponse.headers [“Content-Type”] =“application / json”; oSession.utilSetResponseBody('{“status”:“mocked”,“items”:[]}'); }
一个小小的代码片段,却拥有创造新现实的力量——这是小动作如何在峡湾中回荡的回响。
mitmproxy:可编写脚本的哨兵
如果说 Fiddler 是桥梁,那么 mitmproxy 则是一条贯穿整个森林的常用路径——灵活、开放且可编写脚本。它提供了 CLI 和 Web 界面,因此深受那些喜欢终端命令和 Python 脚本的用户的喜爱。
主要特点:
– 拦截 HTTP(S) 和 WebSocket 流量。
– 使用 Python 脚本动态修改流量。
– TUI 和基于 Web 的仪表板。
安装:
pip 安装 mitmproxy
基本用法:
mitmproxy
将您的浏览器/设备代理设置为 本地主机:8080
并信任 mitmproxy 证书。
示例:替换 API 响应的 Python 脚本
另存为 修改响应.py
:
def 响应(流):如果 flow.request.pretty_url.endswith(“/api/data”):flow.response.text ='{“status”:“intercepted”,“items”:[]}'
运行:
mitmproxy -s 修改响应.py
每个文字都是一首诗,改变河流的流向,塑造水流以揭示其下隐藏的东西。
浏览器 DevTools 网络选项卡:日常视角
没有比浏览器本身更直接的工具了。Chrome、Firefox 和 Edge 都提供了“网络”选项卡——每个前端开发人员的“镜子”。
主要特点:
– 检查所有网络请求和响应。
– 编辑并重新发送请求(Chrome:“重播 XHR”)。
– 限制网络,阻止端点。
快速操作:
– 打开 DevTools (F12
或者 Ctrl+Shift+I
).
– 导航到“网络”选项卡。
– 右键单击请求→“编辑并重新发送”。
示例:修改请求负载
1. 捕获 POST 请求。
2. 编辑 JSON 负载。
3. 点击“发送”。
有时,最深刻的见解来自最简单的观察——就像静水中的山峰倒影。
OWASP ZAP:暗影中的守望者
安全是无声的守护者。 OWASP ZAP 是一个专注于渗透测试的代理,但其拦截和自动化功能对于 QA 来说非常有价值。
主要特点:
– HTTP(S) 的中间人代理。
– 自动漏洞扫描。
– 为自定义测试流程编写脚本。
使用 ZAP 作为拦截代理:
1. 从下载并安装 https://www.zaproxy.org/download/.
2. 将浏览器代理设置为 本地主机:8080
.
3. 使用“拦截”选项卡修改请求和响应。
使用 ZAP 脚本实现自动化:
脚本可用于模糊端点或注入测试数据,就像北风塑造雪堆一样。
HTTP 工具包:现代工匠的工具
HTTP Toolkit 是一股清新的风,它将干净的用户界面与深度功能(模拟、拦截甚至自动化测试流程)结合在一起。
主要特点:
– 拦截并修改 HTTP(S) 流量。
– 模拟端点并模拟服务器错误。
– 回归测试的自动化流程。
入门:
– 从下载 https://httptoolkit.com/.
– 启动并按照指导设置来配置您的浏览器或设备。
– 通过点击清晰度定义拦截规则或模拟端点。
示例:创建 Mock /api/用户
1. 添加匹配规则 */api/用户
.
2.配置自定义JSON响应。
在其界面中,人们可以发现斯堪的纳维亚极简主义的回响——形式与功能齐头并进。
Burp Suite 社区版:守门人
尽管免费版本功能有限,Burp Suite 仍然是注重安全的 QA 和开发人员的坚定选择。
主要特点:
– 拦截和修改流量。
– 中继器重新发出具有变化的请求。
– 用于简单模糊测试的入侵者(社区内有限)。
指示:
– 从下载 https://portswigger.net/burp/communitydownload.
– 启动 Burp 并配置浏览器代理 127.0.0.1:8080
.
– 使用代理 > 拦截选项卡查看和修改请求。
Burp 的界面乍一看可能像迷宫一样,但坚持下去就会发现其中隐藏的秘密。
选择正确的代理工具:比较指南
工具 | 最适合 | 脚本支持 | 嘲讽 | 安全测试 | 自动化 | 易于使用 |
---|---|---|---|---|---|---|
Fiddler | 手动调试,快速模拟 | 是 (C#) | 是的 | 有限的 | 缓和 | 高的 |
mitmproxy | 自动化、脚本 | 是(Python) | 是的 | 不 | 高的 | 中等的 |
ZAP | 安全、自动化 | 是(Java/JS) | 是的 | 是的 | 高的 | 中等的 |
HTTP 工具包 | 现代用户界面,快速模拟 | 是(GUI、JS) | 是的 | 有限的 | 高的 | 非常高 |
Burp 套件 | 安全和渗透测试 | 是(仅限专业版) | 是的 | 是的 | 中等的 | 中等的 |
开发者工具 | 快速检查 | 不 | 不 | 不 | 低的 | 非常高 |
代理配置:穿越水域
配置系统代理(Windows 示例):
– 打开 Internet 选项 → 连接 → LAN 设置。
– 将代理设置为 127.0.0.1:端口
.
配置浏览器代理(Chrome 示例):
- 使用 代理 SwitchyOmega 用于每个域的代理规则。
– 或者使用自定义代理启动 Chrome:
狂欢
chrome.exe --proxy-server="127.0.0.1:8080"
移动设备配置:
– 将设备连接到同一个 WiFi。
– 将 HTTP 代理设置为您的计算机的 IP 和工具的端口(例如, 192.168.1.100:8888
).
关于流程的思考
网络信息流千差万别,每个请求都如同涟漪,每个响应都如同倒影。借助这些免费的代理工具,前端开发人员和质量保证工程师可以成为信息流的守护者,观察、重定向甚至重塑信息流。比特与字节的相互作用,如同人与自然的互动,总有更多值得探索——只要我们驻足观察、聆听。
评论 (0)
这里还没有评论,你可以成为第一个评论者!