安卓逆向API场景下,能否将Burp Suite流量重定向至Fiddler?
将Burp Suite流量重定向至Fiddler的实现方法
方法一:通过Burp上游代理配置转发
这是最直接的无代码方案:
- 配置Fiddler接收外部请求
- 打开Fiddler,依次点击
Tools > Options > Connections - 勾选
Allow remote computers to connect,记录当前Fiddler的监听端口(默认8888) - 取消勾选
Act as system proxy on startup,避免系统代理冲突
- 打开Fiddler,依次点击
- 配置Burp Suite转发流量到Fiddler
- 打开Burp Suite,进入
Proxy > Options页面 - 在
Upstream Proxy Servers区域点击Add - 在弹出窗口中:
- 目标地址填
127.0.0.1(Fiddler在其他机器则填对应IP) - 端口填Fiddler的监听端口(如8888)
- 勾选
Use this proxy for all requests(仅转发特定域名可在Target标签页设置规则)
- 目标地址填
- 保存配置后,Burp捕获的所有流量会自动转发到Fiddler
- 打开Burp Suite,进入
方法二:通过Burp扩展实现自定义转发
如果需要过滤特定请求、修改参数等灵活逻辑,可编写简单的Burp扩展:
- 编写Python扩展(需先配置Burp的Python扩展环境):
from burp import IBurpExtender from burp import IHttpListener import httplib2 class BurpExtender(IBurpExtender, IHttpListener): def registerExtenderCallbacks(self, callbacks): self._callbacks = callbacks self._helpers = callbacks.getHelpers() callbacks.setExtensionName("Forward to Fiddler") callbacks.registerHttpListener(self) self.fiddler_host = "127.0.0.1" self.fiddler_port = 8888 def processHttpMessage(self, toolFlag, messageIsRequest, messageInfo): if messageIsRequest: # 解析Burp捕获的请求 request_info = self._helpers.analyzeRequest(messageInfo) url = self._helpers.buildUrl(request_info.getUrl()) headers = request_info.getHeaders() body = messageInfo.getRequest()[request_info.getBodyOffset():] # 转发至Fiddler http = httplib2.Http(f"http://{self.fiddler_host}:{self.fiddler_port}") http.request( url, method=request_info.getMethod(), headers=dict(headers), body=body ) - 将代码保存为
.py文件,在Burp中通过Extender > Extensions > Add加载扩展 - 确保Fiddler已开启远程连接(同方法一第一步配置),即可实现自定义转发
注意事项
- 若Burp和Fiddler监听端口冲突(如默认都用8080),需修改其中一个的端口:
- Burp改端口:
Proxy > Options > Proxy Listeners > Edit - Fiddler改端口:
Tools > Options > Connections > Fiddler listens on port
- Burp改端口:
- 安卓设备只需信任Burp的根证书,无需信任Fiddler证书(Burp已解密HTTPS流量,转发给Fiddler的是明文HTTP请求)
内容的提问来源于stack exchange,提问作者Văn Chiến Trương
相关产品推荐
相关产品推荐

