利用Freebind突破IPv6限制,实现任意IP地址绑定

利用Freebind突破IPv6限制,实现任意IP地址绑定

freebindIPv6 address rate limiting evasion tool (that also supports IPv4)项目地址:https://gitcode.com/gh_mirrors/fr/freebind

在IPv6时代,一台机器往往能分配到包含多个IP地址的前缀。但是,许多应用程序却无法动态地绑定这些未配置的地址。为此,我们推出了Freebind——一个利用LD_PRELOAD机制钩住socket库调用,启用IP_FREEBIND套接字选项的神器。

当IPv6服务采用速率限制策略时,它们可能会按/128或/64进行封锁,以减少误伤。如果你拥有的是一个被静态路由的小于被禁止前缀的子网,Freebind就能派上用场,它会将套接字绑定到指定前缀内的随机IP地址。

安装与使用

  1. 安装 克隆并进入Git仓库,然后运行make install。构建packetrand需要libnetfilter-queue-dev库。

  2. 设置 假设你的ISP分配了子网2a00:1450:4001:81b::/64给你的服务器。要启用免费绑定功能,你需要先配置Linux的AnyIP内核特性:

    ip -6 route add local 2a00:1450:4001:81b::/64 dev lo
    
  3. 示例 配置好后,以下命令将会让wget绑定到该前缀内的随机IP地址:

    freebind -r 2a00:1450:4001:81b::/64 -- wget -qO- ipv6.wtfismyip.com/text
    

    多次执行,每次都会得到不同的IP地址。

  4. 使用curl爬虫 你可以结合Freebind和较新版本的curl(如7.87.0)来绕过Web服务器的速率限制:

    freebind -r 2a00:1450:4001:81b::/64 -- curl --http1.1 -6 -H "Connection: close" --parallel --parallel-immediate --parallel-max 100 --config config.txt
    

    config.txt中以curl配置格式列出你想抓取的URL。

UDP包级随机化

对于需要每个数据包都有不同源IP地址的情况,可以使用packetrand工具。例如,如果你想为DNS解析随机化源地址:

  1. 设置iptables规则将外出和入站的UDP 53端口数据包传递给packetrand

    ip6tables -I OUTPUT -j NFQUEUE -p udp --dport 53 --queue-num 0 --queue-bypass
    ip6tables -I INPUT -j NFQUEUE -p udp --sport 53 --queue-num 0 --queue-bypass
    
  2. 运行packetrand守护进程:

    packetrand 0 2a00:1450:4001:81b:: 2a00:1450:4001:81b::/64
    

    它会将外出包的源地址重写,并将回程包的目标地址翻译回2a00:1450:4001:81b::,这是假设绑定的套接字地址。

使用-r选项还可以随机化源端口号。

特点

  • 使用LD_PRELOAD注入,无需修改应用代码。
  • 支持TCP和UDP协议的IP自由绑定。
  • 提供packetrand工具,对每个UDP数据包进行源IP随机化。
  • 易于配置和集成现有工作流。

参考资料

如果您的ISP为您提供了一个路由前缀,那么Freebind将是您绕过IPv6限制,灵活应对网络策略的理想选择。立即尝试并释放IPv6的潜力吧!

freebindIPv6 address rate limiting evasion tool (that also supports IPv4)项目地址:https://gitcode.com/gh_mirrors/fr/freebind

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张姿桃Erwin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值