客户端(手机)如何拦截和修改http响应

Posted

技术标签:

【中文标题】客户端(手机)如何拦截和修改http响应【英文标题】:Client (Mobile) how to intercept and modify http response 【发布时间】:2015-08-25 14:33:24 【问题描述】:

我是 android 开发人员,我的应用程序使用了一堆 http REST 调用并从服务器获取响应。我使用 Charles 来检查数据(所以我必须在我的设备上安装 Charles 证书,以便我自己读取 https 流量)。

有没有像 Charles 这样的工具可以让我在发送到客户端之前修改响应数据包??

【问题讨论】:

【参考方案1】:

Charles 本身就有这个功能。请按照以下步骤操作:

    通过右键单击单个请求或路径来启用断点

    在发送请求之前,Charles 会给你一个修改来编辑它。见下文。点击“编辑请求”填写您想要的任何内容,然后点击“执行”发送请求。

    在将结果发回您的手机之前,您需要对内容进行修改。见下文。

【讨论】:

【参考方案2】:

根据您要修改的具体内容,Charles 内置的Rewrite Tool 可能就是您要查找的内容。您可以在“工具”菜单中找到它。您可以通过协议、主机、端口、路径和查询指定哪些请求应被修改,并且您有以下修改选项:

添加、修改、删除标头(请求和响应) 修改主机、路径、URL、响应状态 添加、修改、删除查询参数 修改正文(请求和响应)

另一个选项是 Fiddler。像 Charles 一样,它可以是 configured as a proxy for android、decrypt HTTPS traffic 和 modify request and response。

【讨论】:

【参考方案3】:

您可以尝试OWASP ZAP 或Burp Suite。 OWASP ZAP 是完全免费的,并提供了许多功能。

【讨论】:

【参考方案4】:

另见Android : Capturing HTTP Requests with non-rooted android device。

我最近在 Android 模拟器上测试了HTTP Toolkit。它可以工作并允许捕获和编辑来自服务器的响应。某些功能是付费的(专业版)。在真实设备上需要 root 权限。

您也可以使用 Burp Suite 或 Fiddler。

【讨论】:

以上是关于客户端(手机)如何拦截和修改http响应的主要内容,如果未能解决你的问题,请参考以下文章

Fiddler拦截http请求修改数据

Axios 详解

如何优雅的管理 HTTP 请求和响应拦截器?

JSP ---[过滤器]

11.WEB通讯

HTTP响应头和请求头