如何发送伪造源 IP 的数据包?

2021-04-19 09:12:22 +08:00
 lysS
我需要在 VPS 上发送伪造源 IP 的数据包。

功能已经实现了,把封装好的 IP 包注入到数据链路层,使用的是 pcap 。

在本地能成功请求到服务器,不过源 IP 被 NAT 网关篡改了,wireshark 抓包是正常的;在一个拥有公网 IP 的 VPS 请求服务器,此数据包不能到达。

按理说伪造源 IP 的数据包是可行的,VPS 上数据拦截可能是由于安全的原因?
1166 次点击
所在节点    问与答
6 条回复
gesse
2021-04-19 09:29:43 +08:00
你在同一个局域网里, 是二层通讯,就是 mac 地址通讯。 你到公网上,伪造了源 IP 地址的包发送到服务器上, 服务器返回的包会被路由到伪造的源 IP,要么被真正拥有这个 IP 的服务器丢弃,要么地址不可达。
lysS
2021-04-19 10:14:48 +08:00
@gesse 我不要服务器的回复,就直接是看的服务器请求记录
mingl0280
2021-04-19 11:46:00 +08:00
稍微有一点网络常识就知道:如果你要伪造源 IP 产生数据包,你的数据包必然不能在 NAT 后面。如果你的数据包要经过互联网,那么互联网上的各种防火墙、交换设备发现来源 IP 地址不是我这个段的搞不好根本不给你转发直接丢包……
所以要玩这个你得要找个没防火墙的,直接接入公网而且上层不检查地址来源的接入点,例如专线什么的,要么你用 UDP 这种无连接的。
willis
2021-04-19 11:46:11 +08:00
上层路由和运营商的路由都会验证源 IP 真实性的,伪造的 IP 包一很会丢弃的
lysS
2021-04-19 21:27:40 +08:00
@mingl0280
@willis
确实有 ISP 拦截的原因,叫做出口过滤 Egress Filtering
我现在尝试购买一些国外的 VPS,看看能不能碰着个能用的

https://stackoverflow.com/questions/2493384/how-to-fake-source-ip-address-of-a-udp-packet
https://security.stackexchange.com/questions/100903/is-ip-spoofing-still-a-threat-in-the-internet
lysS
2021-04-19 21:32:19 +08:00
@mingl0280 还有就是它拦截是在网络层,UDP 同样也不行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/771548

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX