2010-11-20 93 views

回答

2

如果客户端伪造其源IP地址,那么establish a TCP connection将非常困难,因为在下面的注释中提到的@cdhowie,客户端需要确认服务器的SYN + ACK回应,它永远不会收到。

欺骗性IP地址对denial of service攻击最为危险,因为攻击者不会在意接收对攻击数据包的响应,而且由于每个欺骗数据包似乎都来自不同的地址,所以它们将更难以过滤。

+0

但攻击者可以调用服务上的方法(即使他看不到响应) – 2010-11-20 20:42:54

+0

@Yaron:不是基于TCP的协议(如HTTP)。要启动连接,客户端需要回复:http://en.wikipedia.org/wiki/Three_way_handshake#Connection_establishment – 2010-11-20 20:48:55

+0

@Yaron:不太可能。为了甚至建立TCP连接,欺骗者需要确认服务器的SYN + ACK。他需要确认在SYN + ACK数据包中发送的特定的32位序列号,而这是他永远不会收到的。只要他试图攻击的主机挑选足够随机的初始序列号,这种攻击就不实际。 – cdhowie 2010-11-20 20:50:45

1

不是。首先,你需要限制所有的代理,才能有效。更重要的是,你可能会阻止像这样的合法用户。它可以成为一些慢性问题的快速解决方案,但总的来说它并不像看起来那么有效。

+0

那白名单呢? – 2010-11-20 20:43:22

+1

对于白名单,它更有效,因为攻击者无法欺骗互联网上的所有路由器。如果攻击者欺骗IP,则响应不会回到攻击者身上,除非攻击者与合法用户位于同一个子网中,并且他们的PC已关闭或者他控制了中间的某个路由器。也许我的意思是说 - 如果你不使用端到端的加密,你必须相信其中的某个人。 – 2010-11-20 20:50:37

0

IP欺骗主要是局域网上可能发生的。在我看来,不可能限制每个IP访问网站。我宁愿考虑应用一些证书/认证方法。

Here就是一个例子。阅读一些理论here