如何伪造UDP数据包的源IP地址?

23

想一下以下内容:
您的ISP提供给您一个动态IP地址(例如123.123.123.123)。

我的问题很简单(答案可能不是):

是否可以发送一个带外部源IP地址(例如124.124.124.124)的单个UDP数据包到固定IP服务器?我不需要从服务器获得答案。我只想知道如何使用伪造的源IP地址进行这种单向通信。

服务器和任何其他人都不应该能够找出真实的客户端IP。

4个回答

16

UDP 数据包实际上并没有源IP地址。源IP地址是发送的数据包的一部分。因此你需要修改包含该数据包的数据包来修改源IP地址。虽然这很困难,但是是可能的。可以参考UDP数据包结构和封装数据包


没错。实际上,您创建一个包含UDP信息的虚假数据包,并发送该数据包。我可以问一下您为什么要这样做吗? - Jacob Schoen
非常感谢!你能解释一下什么是SO问题吗? - raisyn
我找到了一种发送被篡改数据包的方法(使用wireshark进行了检查)...但我认为ISP会将其丢弃...因为它无法接收。 - raisyn
@raisyn 为什么它无法接收?ISP 如何检测到它是可疑的? - Alex
2
@Alex,你的ISP是否知道你的IP地址?如果他们过滤UDP数据包,那么他们可以很容易地确保它来自你并且丢弃其他任何东西。 - Alexis Wilke
显示剩余5条评论

12

这是IP欺骗。除非你的ISP是一个不靠谱的俄罗斯公司,否则它可能会防止你这样做(第一台路由器将会因为可疑而丢弃数据包)。

如果你不想被识别,你应该尝试寻找支持UDP协议的代理...

或者你可以购买一个僵尸网络。:)

(如果你没明白,那只是个笑话,不要这么做)


6
有趣。我来回答这个问题的原因是因为我正在试图向一个西方国家的主要互联网服务提供商证明他们根本没有进行数据包过滤,但他们不相信我。 - tudor -Reinstate Monica-
1
这里有另一个问题,附带了当前欺骗趋势的链接。结果表明,超过10%的...某些东西是可欺骗的! - Josiah Yoder
@Jules,你知道这里有很多俄罗斯人吗? - Pacerier
四年后,我很感兴趣知道你是否发现实际上没有过滤? :D - dwb

3
如果你的ISP使用出口过滤,并且他们不控制124.124.124.124所在的地址块,那么不行。
如果他们控制它,并期望它是从他们网站离开的有效IP,则可能会被阻止。他们可能会将IP与MAC地址绑定并阻止此操作。也可能不会。
你可以更改PC的IP地址为该地址,然后使用程序发送UDP数据包。没有所谓的“假IP”。它们最终都是存在的。它们要么是合法分配的,要么不是。
最后,我不建议采取这种行动。

0

为了实现这个,您需要访问您的ISP路由器。如果您向其他服务器发送一个包含所有信息的原始UDP数据包,路由器将把它封装在另一个带有您真实IP的数据包中。


你认为这不可能吗? - raisyn
你有没有任何想法如何使用C#或C/C++发送一个封闭的数据包(就像jschoen说的那样)? - raisyn
8
路由器只是简单地转发接收到的数据包。它可能(根据配置)丢弃具有明显伪造源的数据包,但通常路由器不会更改源地址。NAT网关和透明代理会更改源地址。只有VPN终点会真正地进一步封装数据包。 - Ben Voigt
@BenVoigt 如何确定一个明显的虚假来源? - Alex
1
@Alex: 反向路径过滤 - Ben Voigt
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接