小白教程
所有教程
关于
Search
172.70.100.165
172.70.100.165
参数设置
贡献
退出
操作
编辑
移动
保护
信息
历史
删除
查看“Mitmproxy拦截修改请求”的源代码
本页内容
上一节:
Mitmproxy快捷键
下一节:
Mitmproxy过滤表达式
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[Category:Mitmproxy中文教程|5]] 拦截模式能修改http请求值和返回值,以便我们快速的去修改模拟数据,在测试软件的过程中经常会用到。 == 开启拦截模式 == mitmproxy 的一个强大功能是对请求的拦截。拦截的请求将被暂停发往服务器,以便用户可以在将请求发送到服务器之前修改(或丢弃)请求。mitmproxy 的'''set intercept'''命令配置拦截。该命令默认绑定到快捷方式<kbd>i</kbd>。 通常不需要拦截所有请求,因为它会不断中断您的浏览。因此,mitmproxy 期望一个[[流过滤器表达式]]作为第一个参数set intercept来选择性地拦截请求。在下面的教程中,我们使用流过滤器'''<nowiki>~u <regex></nowiki>''',它通过匹配请求 URL 上的正则表达式来过滤流。 按下<kbd>i</kbd>然后输入httpbin再输入回车。即可进入针对URL中带有httpbin关键词的拦截模式。此时我们再次输入 <syntaxhighlight lang="sh" line> curl -x http://localhost:8080 http://www.httpbin.org/get\?from\=terminal </syntaxhighlight> == 修改请求数据 == 这时候会发现该命令一直在执行中,这是因为该请求已经被拦截。我们按<kbd>回车</kbd>进入拦截详情。然后再按<kbd>e</kbd>选择对我们想要的数据进行修改。 [[文件:Mitmproxy修改拦截请求数据.png]] 可以看出我们可以修改http请求的所有字段内容,选择要修改的内容项后,按<kbd>回车</kbd>进入修改修改完成后按<kbd>q</kbd>退出。 一直退回到Flows流列表界面后,按<kbd>a</kbd>把请求发送到服务端。 == 修改服务端返回数据 == 请求发送到服务端后我们发现curl命令仍然没有返回,这是因为mitmproxy对返回继续了拦截,如果我们想要修改返回值内容的话可以按<kbd>回车</kbd>进入flow detail中的response进行修改。如果不修改,按<kbd>a</kbd>把返回值发送到curl。
返回至“
Mitmproxy拦截修改请求
”。
上一节:
Mitmproxy快捷键
下一节:
Mitmproxy过滤表达式