V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lysS
V2EX  ›  问与答

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

  •  
  •   lysS · 2021-04-19 09:12:22 +08:00 · 1338 次点击
    这是一个创建于 1300 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我需要在 VPS 上发送伪造源 IP 的数据包。

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

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

    按理说伪造源 IP 的数据包是可行的,VPS 上数据拦截可能是由于安全的原因?
    gesse
        1
    gesse  
       2021-04-19 09:29:43 +08:00
    你在同一个局域网里, 是二层通讯,就是 mac 地址通讯。 你到公网上,伪造了源 IP 地址的包发送到服务器上, 服务器返回的包会被路由到伪造的源 IP,要么被真正拥有这个 IP 的服务器丢弃,要么地址不可达。
    lysS
        2
    lysS  
    OP
       2021-04-19 10:14:48 +08:00
    @gesse 我不要服务器的回复,就直接是看的服务器请求记录
    mingl0280
        3
    mingl0280  
       2021-04-19 11:46:00 +08:00
    稍微有一点网络常识就知道:如果你要伪造源 IP 产生数据包,你的数据包必然不能在 NAT 后面。如果你的数据包要经过互联网,那么互联网上的各种防火墙、交换设备发现来源 IP 地址不是我这个段的搞不好根本不给你转发直接丢包……
    所以要玩这个你得要找个没防火墙的,直接接入公网而且上层不检查地址来源的接入点,例如专线什么的,要么你用 UDP 这种无连接的。
    willis
        4
    willis  
       2021-04-19 11:46:11 +08:00
    上层路由和运营商的路由都会验证源 IP 真实性的,伪造的 IP 包一很会丢弃的
    lysS
        5
    lysS  
    OP
       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
        6
    lysS  
    OP
       2021-04-19 21:32:19 +08:00
    @mingl0280 还有就是它拦截是在网络层,UDP 同样也不行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2680 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 01:45 · PVG 09:45 · LAX 17:45 · JFK 20:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.