V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LGA1150
V2EX  ›  宽带症候群

[未测试] 绕过上海电信白名单限速

  •  
  •   LGA1150 · 29 天前 · 5777 次点击

    自用了很久的玩具项目 https://github.com/LGA1150/nf_deaf

    原理:TCP 三次握手后在真实的请求之前发送一个在白名单之内的伪造请求,理论上不需要有服务器转发。
    使用 skb fwmark 控制,兼容 iptables/nftables 。
    伪造请求内容可自定义。

    37 条回复    2025-04-12 17:48:55 +08:00
    wyntalgeer
        1
    wyntalgeer  
       29 天前
    旁路部署?
    sadan9
        2
    sadan9  
       29 天前
    关键添加的数据如何不影响正常的通信。
    wy315700
        3
    wy315700  
       29 天前
    @sadan9
    TTL 短一点就行了,




    看了眼代码,发现自己看不懂
    des
        4
    des  
       29 天前
    这个咋用啊
    Lentin
        5
    Lentin  
       29 天前
    等个使用说明书~。~
    Chihaya0824
        6
    Chihaya0824  
       28 天前
    野生的 kmod 出现了,这个性能怎么样啊,可以无脑给所有流量 setmark 吗?
    lambdaq
        7
    lambdaq  
       28 天前
    好家伙。0 注释!
    bosonx
        8
    bosonx  
       28 天前 via Android
    等一个教程
    VwEI
        9
    VwEI  
       28 天前
    等一个教程
    aa51513
        10
    aa51513  
       28 天前
    你也太高看我了,一行注释都没有,怕是一时半会儿看不懂
    skylancer
        11
    skylancer  
       27 天前
    这个方式有人用来过墙的,我也没想过能绕过限速...
    skylancer
        12
    skylancer  
       27 天前
    这个方式有人用来过墙的,我也没想过居然能绕过限速...
    hondaya
        13
    hondaya  
       27 天前
    同求教程,我这非 443 端口上传流量大点就限制上传速率到 0.5 Mbps ,节点,frp 都没法用。自建节点和 frp 域名改成 speedtest 开头的就不限速了。
    thinsychen
        14
    thinsychen  
       27 天前
    无需旁路部署,在有权限的路由上可以部署,
    实测 内核 5.15 sh telecom 可以破解 TCP 限速 5M ,基本达到满速!感谢楼主提供的思路。
    thinsychen
        15
    thinsychen  
       27 天前
    或者 客户端部署也可以。
    huaxie1988
        16
    huaxie1988  
       27 天前
    怎么使用呢
    leeyijie
        17
    leeyijie  
       27 天前
    收藏一下
    bhkkvip
        18
    bhkkvip  
       26 天前
    用 deepseek 翻译了一遍,又问了下怎么用,大概好像知道了...
    TonyBoney
        19
    TonyBoney  
       26 天前
    在 Linux 路由器成功使用,编译并加载模块后,通过匹配数据包大小的方式跳过握手包,把教程分享给大家,不用谢:
    1. git clone 楼主的仓库,不用多说。
    2. 可以修改源码里的 payload 为你喜欢的内容,也可以在加载模块后修改/sys/kernel/debug/nf_deaf/buf 的内容,例如:
    #define NF_DEAF_BUF_DEFAULT "GET / HTTP/1.1\r\n\
    Host: www.speedtest.cn\r\n\
    User-Agent: Mozilla/5.0\r\n\
    Accept: */*\r\n\
    Connection: close\r\n\
    \r\n"
    3. 改一下 MakeFile:
    obj-m += nf_deaf.o
    KDIR := /lib/modules/$(shell uname -r)/build

    all:
    $(MAKE) -C $(KDIR) M=$(PWD) modules

    clean:
    $(MAKE) -C $(KDIR) M=$(PWD) clean

    4. 在源码目录运行 make 命令编译,没有 make 或 gcc 的自行安装
    5. 加载内核模块:insmod nf_deaf.ko ,若命令 lsmod |grep nf_deaf 有返回那么就加载完成啦
    TonyBoney
        20
    TonyBoney  
       26 天前
    6. 接下来需要给特定数据包打标记,该内核模块的触发条件是 mark 的高 16 位为 0xdeaf ,低 16 位的定义如下所示:
    15:设置 TCP 的确认号
    14:设置 TCP 的序号
    13:设置 TCP 校验和
    12-10:指定重复发送的次数
    9-5:设置延迟发送时间(jiffies)
    4-0:设置 TTL 值
    那么我们想把 TTL 设置为 2 ,别的不变,只需要设置 mark 为 0xdeaf0002 ,仅修改总大小大于 120(ipv4)和 100(ipv6)的包,避免影响握手
    TonyBoney
        21
    TonyBoney  
       26 天前
    7. 如果用 nftables ,ipv4 和 ipv6 的命令分别是:(自行修改目的地址,自担风险,小心连不上服务器)
    nft insert rule inet filter postrouting ip daddr {1.1.1.1} tcp dport { 0-65535 } meta length gt 120 meta mark set 0xdeaf0002 return comment "hahaha"

    nft insert rule inet filter postrouting ip6 daddr {2606:4700:4700::1111} tcp dport { 0-65535 } meta length gt 100 meta mark set 0xdeaf0002 return comment "hahaha"
    8. 如果用 iptables ,ipv4 和 ipv6 的命令分别是:(自行修改目的地址,自担风险,小心连不上服务器)
    iptables -t mangle -A POSTROUTING -d 1.1.1.1 -p tcp --dport 0:65535 -m length --length 121:65535 -j MARK --set-mark 0xdeaf0002 -m comment --comment "hahaha"

    ip6tables -t mangle -A POSTROUTING -d 2606:4700:4700::1111 -p tcp --dport 0:65535 -m length --length 101:65535 -j MARK --set-mark 0xdeaf0002 -m comment --comment "hahaha"
    Ipsum
        22
    Ipsum  
       26 天前
    下一步就是免流技术的大胜利?从来没想过这种技术会用来解决回家的问题。
    zer
        23
    zer  
       26 天前
    感觉可以搞成 openwrt kmod 插件
    LGA1150
        24
    LGA1150  
    OP
       26 天前
    @skylancer
    @Ipsum
    的确可以用来过墙,反正原理差不多,只是黑名单白名单的区别
    shomaru
        25
    shomaru  
       24 天前 via Android
    @TonyBoney 大佬能否加个 q 指导一下
    szdosar
        26
    szdosar  
       23 天前
    就是告诉看门的保安大叔,我是厂长的小舅子,厂长他刚买了台 su7u ,帮他提车的。
    保安大叔一看,放行,并且场内不限速,直接飙到时速 350KM
    Lentin
        27
    Lentin  
       23 天前
    参考 #19 楼大哥的步骤搓了一个飞牛 os 的内核文件,实测如果是旁路设备的话需要 ttl 改为 3 也就是对应的 mark 为 0xdeaf0003

    飞牛 OS 内核版本 Linux fnOS 6.6.38-trim #92 SMP PREEMPT_DYNAMIC Tue Mar 11 17:22:50 CST 2025 x86_64 GNU/Linux

    https://drive.google.com/file/d/1O9HRTqfJrxhuCaFlNMVT9rxNTd9eNaYt/view?usp=drive_link

    自己编译的话 build 目录的文件是从这个包里解包出来的,系统内没有这个 build 目录
    https://download.liveupdate.fnnas.com/x86_64/kernel/6.6.38-trim-92.deb
    dhdjfnnf
        28
    dhdjfnnf  
       22 天前
    大佬,这个方法可以解决 pt 限速的问题吗?
    sadan9
        29
    sadan9  
       21 天前   ❤️ 1
    编译了一个 openwrt 版,测试中.....
    tibbersvs
        30
    tibbersvs  
       21 天前
    @sadan9 大佬求带上车
    siyanmao
        31
    siyanmao  
       21 天前
    对 UDP 流量,伪装成 QUIC 会有效果吗…
    qwvy2g
        32
    qwvy2g  
       21 天前
    @sadan9 源码里面没有 kmod-debugfs 这个模块,没法继续下去。
    sadan9
        33
    sadan9  
       21 天前
    @qwvy2g 你说的"源"还是"源码"? debugfs 应该是很古老的模块了。
    c398425861
        34
    c398425861  
       19 天前
    ImmortalWrt 可以弄吗
    MutuMutu
        35
    MutuMutu  
       16 天前
    @sadan9 大佬测得咋样了
    lovexiaofan12312
        37
    lovexiaofan12312  
       10 天前
    openwrt 已经加载模块,就是不知道怎么详细使用,来个大佬
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5080 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 08:25 · PVG 16:25 · LAX 01:25 · JFK 04:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.