为什么不能伪造一个IP地址?

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

更新:

感谢您的快速回复,但不清楚,如果使用无状态协议(如HTTP),会发生什么情况。 我并不熟悉底层的networking通信,但理论上来说,如果PC连接到服务器并立即收到回复,似乎应该可以实现IP地址。

完全可以使用假发件人IP发送数据。 你将很难得到答复,因为答复将被发送到假IP,永远不会到达你。 另外,如果您使用“from”IP发送数据(路由器不期望从您那里得到),则路由器通常会简单地将其丢弃,并且有时会通知ISP您违反了TOS。

编辑:在编辑post的回应。

任何构build在面向连接的协议(TCP)之上的协议(例如HTTP)将需要一个有效的IP。 虚假IP普遍存在的情况主要包括拒绝服务攻击,在TCP握手中使用UDP,ICMP或初始SYN数据包。

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

(*它的一个老问题和答案是好的,只是一个补充)
其被称为IP欺骗,防火墙正在努力检测和阻止它,网桥可能会被它弄糊涂(一段时间)
http://en.wikipedia.org/wiki/IP_address_spoofing

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

如果你在networking中的路由器后面,你实际上正在改变隐藏自己的身份

例如:你:192.168.1.4 insiderouter:192.168.1.1 external-ip:8.8.8.8 destination-ip:8.8.4.4

发送数据包:从:192.168.1.4(你)到8.8.4.4(dest)路由器transelates到:从:8.8.8.8(external-ip)到8.8.4.4(dest),并保持你的IP在他的记忆

比包在他的目的地上。

现在,目的地从8.8.4.4(dest)到8.8.8.8(external-ip)路由器从8.8.4.4(dest)到192.168.1.4(you)交叉到(使用其存储器)

现在数据包返回到你的电脑

你可以看到目的地不知道你的IP,但只知道路由器的IP地址

这是一种方式,你可以acclompisch一种方式来隐藏你的IP