HTTP请求的IP地址是否可以被欺骗?

在我正在build设的网站上,我计划logging提交的IP地址,以防万一是必要的。 我不介意代理,但彻底欺骗你的IP地址将打败目的。

要执行完整的GET操作,(不pipe您是否收到或是否通过)都是一个合法的IP地址? 或者一个网站被垃圾邮件从随机欺骗IP地址的post?

(POST有什么不同?)

    不,不错,是的。 或者可能。 这取决于你从哪里得到你的“IP地址”数据,以及你是否信任它们。

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

    然而,随着反向代理的广泛stream行,IP数据包常常会错误地表示连接的来源,因此引入了各种HTTP头以允许代理提供“实际”起始IP地址。 这里的问题是,你必须相信谁发送头来提供准确的信息。 此外,默认(或错误的复制pasta'd)configuration可以很容易地让你打开欺骗这些头。 因此,您必须确定是否有任何反向代理合法地涉及您的请求,并确保他们(和您的Web服务器)被正确configuration和保护。

    没有。

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

    但是,像Tor这样的匿名代理工具可以提供一种轻松匿名连接来源的方法 – 记住,这可以轻松地通过IP禁止来打败垃圾邮件控制。

    简短的回答..不是今天你不能。

    在过去,计算机在TCPstream量的序列号中是非常可预测的。 这意味着攻击者只会发送合法的stream量,直到找出序列号,并且可以很好地猜测接下来会发生什么。 然后它会发送TCPstream量来模仿一个欺骗性的IP地址,另一端的主机会相信。 所以你可以伪造三方握手

    今天,我会说10年以上..电脑是随机的好多了,所以这是很难,如果不是不可能的。 我认为如果攻击者这样做会浪费时间。

    HTTP运行在TCP上。 为了使TCP工作,你需要完全的3路SYN / ACK握手才能发出GET或POST请求,所以一个简单的欺骗源就不会有太大的帮助。 其他更高级的欺骗forms(MitM)仍然有效。