客户端(手机)如何拦截和修改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响应的主要内容,如果未能解决你的问题,请参考以下文章