可以欺骗HTTP请求的IP地址吗?


27

我计划在我建立的网站上记录提交的IP地址,以防万一。我不介意代理,但直接欺骗您的IP地址将无法达到目的。

要执行完整的GET操作(无论您是否收到或是否通过),是否需要合法IP地址?还是网站充斥着来自随机欺骗IP地址的帖子?

(POST有什么不同吗?)


2
另一种方法是DuckDuckGo采取的方法:它们不会跟踪IP地址,以防万一有人要求它们。请参阅duckduckgo.com/privacy.html#s3上的隐私政策。您说“以防万一,这是必要的” –您是否有好的主意,为什么有必要这样做?
兰迪·奥里森

Answers:


31

不,是的。或许。这取决于您从何处获取“ IP地址”数据,以及是否信任它们。

如果您要从IP数据包本身获取地址,那么您可以相信,发送数据包的任何人都可以访问发送到该IP地址的数据包。这可能意味着它是该IP地址的合法用户(对于僵尸网络,开放代理和Tor时代,“合法”一词的适当限制值),或者发送数据包的人都可以访问中间系统,并且可以看到您正在发送的数据包。

但是,在反向代理的广泛普及中,IP数据包经常会歪曲连接的来源,因此引入了各种HTTP标头,以允许代理提供“实际的”原始IP地址。这里的问题是,您必须信任发送标头的人才能提供准确的信息。同样,默认(或误导的复制粘贴)配置可以使您轻松地接受那些标头的欺骗。因此,您必须确定请求中是否包含任何反向代理,并确保正确配置和保护了它们(以及Web服务器)。


23

没有。

TCP连接(HTTP使用)需要双向通信。虽然您可以SYN轻松地欺骗数据包的源IP ,但是SYN-ACK来自服务器的响应将被路由到您在初始数据包中欺骗的IP-您将无法完成连接,除非您看到服务器的响应。

但是,Tor之类的匿名代理工具可以提供一种轻松匿名连接源的方法-请记住,这可以通过IP禁止轻易破坏垃圾邮件控制。


12

简短答案..不是今天,你不能。

过去,计算机对于TCP流量的序列号非常可预测。这意味着攻击者只会发送合法的流量,直到找出序列号,然后才能很好地猜测接下来会发生什么。然后,它将发送TCP流量以模仿欺骗的IP地址,另一端的主机会相信。因此,您可以伪造三向握手

今天,我想说10多年了。计算机在随机化方面要好得多,因此即使不是没有困难,也很难。在我看来,攻击者这样做会浪费时间。


8

HTTP通过TCP运行。为了使TCP正常工作,您需要经过完整的3向SYN / ACK握手,然后才能发出GET或POST请求,因此,简单的欺骗性源代码不会做太多事情。其他更高级的欺骗形式(MitM)仍然有效。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.