首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iptables导致GET请求的无限循环

iptables导致GET请求的无限循环
EN

Server Fault用户
提问于 2014-01-21 01:09:44
回答 2查看 1.6K关注 0票数 0

我试图将HTTP流量从80重路由到8080,以供Burp Suite使用。

使用iptable,我的命令是:

iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to 127.0.0.1:8080

通过这样做,流量确实被重新路由到端口8080,并显示在Burp中。但是,GET请求一直在加载,如果我禁用了拦截,请求就会淹没Burp历史,直到它满了为止。

我已经做了一个完全刷新和重置iptables,没有任何效果。

编辑:经过更多的调查后,我怀疑同样的请求在转发后会继续返回到Burp。这可能是Burp的一个问题。帮助?

更多信息:我正在一台ubuntu 13虚拟机上进行测试,并在没有代理的android仿真器浏览器(在VM中运行)进行测试。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2014-01-21 07:17:45

如果我错了,请纠正我,但是Burp是一个代理,所以对于每个连接,都会有另一个连接退出。您的第一个连接被正确地重新路由到Burp,然后,Burp自己的出站连接也被重新路由。您可以通过修改iptables规则来排除Burp:

代码语言:javascript
复制
   iptables -t nat -A OUTPUT -p tcp --dport 80 ! --uid-owner <UID OF BURP PROCESS> -j DNAT --to 127.0.0.1:8080

当然,作为与浏览器不同的用户运行Burp是很重要的。我可能会给你一个更好的答案,如果我有更多的细节或一个例子场景,你想要完成什么?

祝好运。

编辑:起作用的正确命令是

代码语言:javascript
复制
iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner ! --uid-owner 0 -j DNAT --to 127.0.0.1:8080

在以根的形式运行Burp Suite之后。

票数 1
EN

Server Fault用户

发布于 2014-01-21 07:49:48

我的解决方案是简单地声明HTTP请求的来源,并将所有路由限制在来自该ip地址的路由上。

sudo iptables -t nat -A OUTPUT -p tcp -s 127.0.0.1 --dport 80 -j DNAT --to 127.0.0.1:8080

在请求通过饱嗝之后,它将不会再次被路由。

但是,这只适用于浏览器(我正在使用firefox)。

当我尝试使用Android模拟器,并将iptable规则更改为10.0.2.1 (模拟器的网关地址)、10.0.2.2、10.0.2.15等不同的源时,请求不会被路由。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/568656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档