Tcp 为什么不可能伪造IP地址?

Tcp 为什么不可能伪造IP地址?,tcp,ip,Tcp,Ip,我知道可以使用代理更改IP地址,但我感兴趣的是,为什么不能通过从一台计算机发送更改的数据来更改IP地址 更新: 感谢您的快速回复,但现在还不清楚,如果使用无状态协议(如HTTP),会发生什么情况。我不熟悉较低级别的网络通信,但从理论上讲,如果PC连接到服务器并立即收到回复,那么伪造IP地址应该是可能的。完全有可能使用伪造的发送方IP发送数据。不过,你很难得到回复,因为回复将被发送到假IP,而且永远不会到达你。此外,如果您使用路由器不希望从您处到达的“发件人”IP发送数据,路由器通常会将其丢弃,有

我知道可以使用代理更改IP地址,但我感兴趣的是,为什么不能通过从一台计算机发送更改的数据来更改IP地址

更新:


感谢您的快速回复,但现在还不清楚,如果使用无状态协议(如HTTP),会发生什么情况。我不熟悉较低级别的网络通信,但从理论上讲,如果PC连接到服务器并立即收到回复,那么伪造IP地址应该是可能的。

完全有可能使用伪造的发送方IP发送数据。不过,你很难得到回复,因为回复将被发送到假IP,而且永远不会到达你。此外,如果您使用路由器不希望从您处到达的“发件人”IP发送数据,路由器通常会将其丢弃,有时会通知ISP您正在进行违反TOS的活动

编辑:响应已编辑的帖子


任何建立在面向连接协议(TCP)之上的协议(如HTTP)都需要有效的IP。假冒IP普遍存在的情况主要涉及拒绝服务攻击,在TCP握手中使用UDP、ICMP或初始SYN数据包

您可以使用任何想要发送的IP地址,但回复将转到您使用的IP地址,因此您无法通过这种方式建立双向通信。

如果您试图通过更改源IP地址来发送数据包,您可以将其发送给其他人,但如果您希望数据包返回到pc,则必须使用NAT之类的方式

如果你在你网络上的路由器后面,你本质上是在改变隐藏你自己的身份

例如: 你:192.168.1.4 内部外部:192.168.1.1 外部ip:8.8.8 目的地ip:8.8.4.4

发送数据包: 从:192.168.1.4(您)到8.8.4.4(目标) 路由器转接至: 从:8.8.8.8(外部ip)到8.8.4.4(目标) 把你的ip留在他的记忆里

比包裹在他的目的地还多

现在目的地发送一个数据包回来 从:8.8.4.4(目的地)到8.8.8.8(外部ip) 路由器传输到(使用其内存) 从:8.8.4.4(目标)到192.168.1.4(你)

现在,数据包返回到您的pc

正如您所见,目的地不知道您的ip,但只知道路由器的ip

这是一种隐藏ip的方法(*这是一个老问题,答案很好,只需添加一项)
它被称为IP欺骗,防火墙正在努力检测和阻止它,网桥可能会被它弄糊涂(一段时间)

您不能使用代理“更改”您的IP地址。在端点看来,您只是拥有代理的IP地址。你不是在“改变”任何事情,只是躲在别人后面。一个外行的比喻:如果你发送一封带有虚假发件人地址的电子邮件,收件人会回复该电子邮件地址,因此从这个意义上讲,这是毫无意义的,因为你不会得到回复。但是,你可以发送大量此类电子邮件,这可能会导致收件人的电子邮件服务器崩溃——从理论上讲。HTTP需要TCP连接,你需要发送数据并获得响应。黑客可以使用假IP发送请求,然后截获服务器的响应吗?@kgrote,如果黑客能够访问返回数据包的路径,那么是的。所以白名单或黑名单IP地址并不真正安全,因为伪造的IP端可以发送一些潜在的破坏性数据?@StephenZeng问得好,UDP通信可能就是这样。然而,就我而言,TCP通信需要双向通信。如果有更有经验的人能证实这一点,那就太好了。