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

[长文] 移动白名单上传限速机制,以及解决办法

  •  8
     
  •   mikewang · 2025 年 3 月 15 日 · 19908 次点击
    这是一个创建于 305 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景

    移动开始对白名单以外的域名、网络协议进行上传限速。

    具体表现在:

    • 国内网盘、邮箱、微信、测速网站等上传一切正常。
    • 使用 IPv6 公网回家连 NAS ,或者 IPv4 打洞回家,读取文件异常缓慢。
    • BT 没有上传流量。
    • iperf3 测速只有 1 Mbps 左右。
    • 上传被限速,达到 1 Mbps 峰值时,时有丢包现象或者 ping 值上升。

    除了移动以外,其他运营商也有类似表现:

    • /t/1112956 北京移动 测速正常但上传看着确实变小了
    • /t/1057505 移动似乎对非常用端口上传进行了限速
    • /t/1063534 电信宽带测速正常,NAS 上传被限速
    • /t/1108373 上海电信上传限速
    • /t/1081007 上海电信上传限速
    • ...

    限速机制

    深度包检测。默认限速 1 Mbps ( 125 kB/s ),检测到白名单协议、域名之后,放开至正常速(我测得 100 Mbps )。

    以下均是我在移动宽带下测得的结果。

    TCP

    • HTTPS:TCP 443 端口,SNI 探测

      目标端口为 443 的 TCP 连接建立成功,客户端发送的 TLS Client Hello 包含白名单域名,解除限速。

      比如,在 TCP 建立时,使用下方二进制串,即可解除限速。虽然很多字段是不合法的,比如长度填了 0 ,域名直接放在了最后。但是不影响上游匹配到了 TLS 特征,并命中了域名关键字,放开限速。

      "\x16"         // Handshake
      "\x03\x00"     // TLS version
      "\x00\x00"     // Length (0)
      "\x01"         // Client Hello
      "\x00\x00\x00" // Length (0)
      "\x03\x00"     // TLS version
      "speedtest.cn"
      

      这个检测仅适用于 443 端口。其他端口使用 HTTPS 依然保持限速。

    • HTTP:所有 TCP 端口,HTTP 头 Host 字段检测

      同样地,只要匹配到关键特征即可解除限速。

      "HTTP/\r\n"
      "Host: speedtest.cn\r\n"
      "\r\n"
      

    UDP

    • DNS:53 端口,首个 UDP 包含有 DNS 协议特征

      目标端口为 53 端口,只要第一个 UDP 包发送含有如下 DNS 特征的请求,就可以解除限速。同样是特征匹配,不需要合法。

      "\0\0\1\0\0\1\0\0\0\0\0\0\0\0\0\1\0\1"
      
    • 待发现

      尚未找出对其他 UDP 端口解除限速的方法。

    补充

    该检测会追踪整个 TCP 的状态。在已建立的 TCP 连接中,构造 SYN 之后再发 SNI 或者 HTTP 特征并不会骗过检测机制,达成解除限速的效果。

    话说,这个探测方式是不是很眼熟。我怀疑是不是某个神秘技术下放到了运营商,区别只在:一个是检测到就断流,一个是检测到就恢复上传速度。

    解决方案

    这里介绍除了投诉以外的规避方案。

    带 HTTP 混淆的网络工具

    设置混淆的 host 为白名单网站即可。

    udp2raw 中加上 HTTP 特征

    使用 TCP 协议作为隧道可能不是最佳,因此我 fork 了 udp2raw ,在上面加上了 HTTP 特征: https://github.com/MikeWang000000/udp2raw

    这个特征很明显的通过了运营商的检测,上传速度恢复到 100 Mbps 。

    可以参考这个提交:commit c4995ea

    使用方法是在参数后加上 --fake-http speedtest.cn 这样就会混淆为在访问测速网站。

    对于一般的 TCP 连接

    (理论上,未验证)可以使用 eBPF 等手段,在 TCP 连接建立时,使用较小的 TTL 发送 HTTP 特征。这样既通过了运营商的检测,又不会到达服务器。

    后记

    因为省间结算,运营商费尽心机限制用户上传。这种白名单机制也让用户难以投诉:常见网站、测速网站的上传检测都是正常。运营商可以直接不承认有限速行为,而归结为用户问题。不知道以后还有什么新的手段呢?

    第 1 条附言  ·  2025 年 7 月 17 日

    后续:编写了 FakeHTTP 工具用于伪装为白名单内的域名。

    https://github.com/MikeWang000000/FakeHTTP

    /t/1135702

    48 条回复    2025-09-27 00:59:10 +08:00
    heiher
        1
    heiher  
       2025 年 3 月 15 日 via Android
    赞!从外面建立的 TCP 入站连接,连接建立后服务端发送白名单 HTTP 请求作为“响应”,能解除上传限速吗?
    mikewang
        2
    mikewang  
    OP
       2025 年 3 月 15 日
    #1 @heiher 刚刚实测了一下。有意思的是,这个包不分方向。
    从 server -> client 或者 client -> server 只要有一处匹配到特征,就解除限速了。
    heiher
        3
    heiher  
       2025 年 3 月 15 日 via Android
    @mikewang #2 666 ,我也去在“回家”套件中加上这个伪装
    MFWT
        4
    MFWT  
       2025 年 3 月 16 日
    > 带 HTTP 混淆的网络工具

    这个会不会有风险?家宽开 HTTP 访问什么的,不确定他判断方式是主动扫描还是流量监听
    heiher
        5
    heiher  
       2025 年 3 月 16 日 via Android
    @MFWT 好在不区分方向,如果是手机访问为主,逆向进行 HTTP 握手对服务端的家宽是保护。如果两端都是家宽还是有风险。 @mikewang 除了 http(s)还有没有发现什么其它特征也有同等效果?
    Trim21
        6
    Trim21  
       2025 年 3 月 16 日
    BT 的 TCP 流必须以特定的协议头 开始,看这样子好像不太好绕过?
    Trim21
        7
    Trim21  
       2025 年 3 月 16 日
    @Trim21 #6 如果是未开启混淆的 bt tcp 的话,理论上说应该可以在 68 字节的握手之后插入一个包含任意文本的包。不过不知道在这个地方发送对应的文本还能不能触发解除限制了。

    \x00\x00\x00\x1f
    \x20
    \x99HTTP/\r\nHost: speedtest.cn\r\n\r\n

    ( hex 之后是 0000001f2099485454502f0d0a486f73743a207370656564746573742e636e0d0a0d0a )
    383394544
        8
    383394544  
       2025 年 3 月 16 日 via iPhone
    看到白名单域名是 speedtest.cn 笑了
    iijboom
        9
    iijboom  
       2025 年 3 月 16 日
    提问,电信的被 qos 或者其他特殊待遇有明显的 mtu 特征或者其他特征,移动的都有什么特征?
    上海电信的 https://www.v2ex.com/t/1091657 https://www.v2ex.com/t/1097472 精品网和被限速的 mtu 都是 1442
    广东电信的 https://www.v2ex.com/t/1079783 没被限速,但是 mtu 变 1430 ,内网 IP 变 100.64 ,变 nat4 ,ipv6 半小时老化
    1QWxx6CtzA3CPgEQ
        10
    1QWxx6CtzA3CPgEQ  
       2025 年 3 月 16 日
    @383394544 speedtest.net 中国大陆测速节点 迟早要被全部拆除
    huihuilang
        11
    huihuilang  
       2025 年 3 月 16 日 via Android
    所谓的 sni 伪装?
    伪装成境外的白名单是不是也可以?
    383394544
        12
    383394544  
       2025 年 3 月 16 日 via iPhone
    @youx #10 .net 和 .cn 不是一个站
    heiher
        13
    heiher  
       2025 年 3 月 16 日 via Android
    另外,是不是有没有 http response 不重要?如果是伪装双向都发 http request :D
    wy315700
        14
    wy315700  
       2025 年 3 月 16 日
    哪个地方的移动啊

    上海移动最近给大流量用户开始每天晚上 8 点和 10 点断线重拨
    1QWxx6CtzA3CPgEQ
        15
    1QWxx6CtzA3CPgEQ  
       2025 年 3 月 16 日
    @383394544 我知道不是同一个网站
    iijboom
        16
    iijboom  
       2025 年 3 月 16 日
    @wy315700 贴主是江苏移动,上海移动这个手段倒是很多地方用,就是干扰 pcdn
    lynn1su
        17
    lynn1su  
       2025 年 3 月 16 日
    看上去 doh 或者 doq 是有点用的
    heiher
        18
    heiher  
       2025 年 3 月 16 日
    实测我这移动和电信之间白天跨网不限速,晚高峰使用 HTTP 伪装也不提速。
    JasperHale
        19
    JasperHale  
       2025 年 3 月 16 日
    鄙人觉得这个逻辑不像是 GFW 倒是类似 反诈墙的下放.
    NewYear
        20
    NewYear  
       2025 年 3 月 16 日
    哈哈,我在想在未来的世界,互联网充满了这类“伪装数据包”,也是蛮有意思的。
    ilili
        21
    ilili  
       2025 年 3 月 17 日
    我预感伪装 host 免流的那一套很适合解限速,ss+obfs 就完事了
    ERvISTyP
        22
    ERvISTyP  
       2025 年 3 月 17 日
    今天试了下 op 的这个方案( udp2raw + wireguard ),还是限速,不知道我这电信用了什么黑魔法

    我这最开始的时候用 shadowTLS 就行破,现在都不行了
    basncy
        23
    basncy  
       2025 年 3 月 17 日
    解除 UDP 限速很容易,使用 RAID 0 级的条带化并行传输,2 秒零百加速不是梦。为了世界的和平,正常的 ISP 会封 IP 断流(迅雷一开,全家断网)。
    east4ming
        24
    east4ming  
       2025 年 3 月 17 日 via Android
    突然想到一个问题,那 http3 呢?
    heiher
        25
    heiher  
       2025 年 3 月 17 日
    @basncy #23 RAID 0 级条带化并行传输是指开很多个 UDP 端口,类似跳频吗?运营商的 UDP 流控会不会一个用户侧端口共享一个状态机呀
    playboy0
        26
    playboy0  
       2025 年 3 月 18 日
    如果直接用 reality 这种协议呢🤔 谢谢楼主
    kdzhq443
        27
    kdzhq443  
       2025 年 3 月 18 日
    何必呢,直接转网
    rulagiti
        28
    rulagiti  
       2025 年 3 月 19 日
    真恶心,骚操作一波又一波。
    shomaru
        29
    shomaru  
       2025 年 3 月 19 日
    @ERvISTyP 能不能指点下如何操作
    iamqk
        30
    iamqk  
       2025 年 3 月 20 日
    我说的怎么挂了代理上传速度就恢复正常呢
    zzyyzz
        31
    zzyyzz  
       2025 年 3 月 20 日
    湖南电信上周就发现了。表现在 OneDrive 上传时,一开始只能跑在 800-1024KByte/s 。一段时间后,可达到 5-6Mbyte/s 满速上传。
    colinhd8
        32
    colinhd8  
       2025 年 3 月 22 日
    @wy315700 不是最近,今年 1 月底就开始了。
    Jason1737
        33
    Jason1737  
       2025 年 3 月 23 日 via Android
    请问下 Vmess+ws ,不套 tls ,然后 host 填"speedtest.cn",path 填"/",可以破解这个限速吗,我这里移动到电信也是被限得死死的,无论是 ss 还是 wireguard 都只有 1Mbps 左右的速度
    wolffcat
        34
    wolffcat  
       2025 年 3 月 27 日 via Android
    @mikewang 我想问的是匹配到特征以后,解除的是这个连接的限速,还是解除了用户宽带上传的上网模板限速。
    KleinerSource
        35
    KleinerSource  
       2025 年 3 月 31 日
    我们这个现象一样 但是是限速 2mbps 而且用户被拉到特定 ip 段 118.251.96-97-98-99 段
    KleinerSource
        36
    KleinerSource  
       2025 年 3 月 31 日
    主动上传不限速(传网盘,传其他地方) 但是 外部从家里 下载数据 就限速 200k
    rdp(200k 频繁断开连接) 云游戏(严重花屏) 外网看 emby 听歌 全部 200k
    huaxie1988
        37
    huaxie1988  
       2025 年 4 月 27 日
    非常不错的文章,学习了。
    hi543
        38
    hi543  
       2025 年 5 月 12 日
    手机微信传送视频也会被限速。speedtest 测试速度都是正常的。我一猜就知道是分协议、APP 限速了。
    Ixizi
        39
    Ixizi  
       2025 年 5 月 25 日
    https://imgur.com/a/r6uYfOY 真无语了。江西移动。
    ntplay4
        40
    ntplay4  
       2025 年 5 月 26 日
    坐标,山东,用的企业版 1000M 下行,100M 上行的联通. 最近直接上传白名单了.
    测速网和百度网盘什么的一切正常.白名单外的上传一塌糊涂. 基本是几百 KB 到 1M.
    3Fulieak
        41
    3Fulieak  
       2025 年 6 月 18 日
    @ntplay4 长沙也一样 上报解开了一个月 一个月整又开始被限了 没辙了
    molezznet
        42
    molezznet  
       2025 年 7 月 13 日
    原来不是我的宽带问题,还自己浪费时间了。
    学到了,真是白花钱了。
    https://www.v2ex.com/t/1144916
    molezznet
        43
    molezznet  
       2025 年 7 月 13 日 via Android
    我还想怎么现在国内两个 nas 之间,v6 直连动不动就降到 100 多 k 每秒,不能愉快的玩 nas
    molezznet
        44
    molezznet  
       2025 年 7 月 14 日
    https://img.netok.xyz/1752459962567.png

    真的是精准限速, 上海移动 v6 直连,128k/s

    就是不知道是我个人账号上了 isp 黑名单, 还是所有用户都被适配
    molezznet
        45
    molezznet  
       2025 年 7 月 14 日
    上海移动,我还测出来一个精准 8M 的限速,腾讯云的 vps

    ```
    [ ID] Interval Transfer Bitrate
    [ 5] 0.00-1.01 sec 896 KBytes 7.24 Mbits/sec
    [ 5] 1.01-2.01 sec 1.00 MBytes 8.44 Mbits/sec
    [ 5] 2.01-3.01 sec 1.00 MBytes 8.33 Mbits/sec
    [ 5] 3.01-4.01 sec 1.00 MBytes 8.41 Mbits/sec
    [ 5] 4.01-5.01 sec 1.00 MBytes 8.43 Mbits/sec
    [ 5] 5.01-6.00 sec 1.00 MBytes 8.44 Mbits/sec
    [ 5] 6.00-7.01 sec 1.00 MBytes 8.33 Mbits/sec
    [ 5] 7.01-8.01 sec 1.00 MBytes 8.34 Mbits/sec
    [ 5] 8.01-9.01 sec 1.00 MBytes 8.45 Mbits/sec
    [ 5] 9.01-10.00 sec 1.00 MBytes 8.43 Mbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval Transfer Bitrate Retr
    [ 5] 0.00-10.02 sec 10.3 MBytes 8.58 Mbits/sec 0 sender
    [ 5] 0.00-10.00 sec 9.88 MBytes 8.28 Mbits/sec receiver

    ```
    ENE
        46
    ENE  
       2025 年 9 月 6 日   ❤️ 1
    发现使用 Frp 解决运营商对境外服务器的 QOS
    使用 frp 双向 tls 验证,并在证书中添加 dns 域名 speedtest.cn
    ```frps.toml
    transport.tls.force = true
    transport.tls.serverName = "speedtest.cn"
    transport.tls.certFile = "/cert/FRP-Server_crt.pem"
    transport.tls.keyFile = "/cert/FRP-Server_prv.pem"
    transport.tls.trustedCaFile = "/cert/FRP-CA_crt.pem"
    ```

    ```frpc.toml
    transport.tls.force = true
    transport.tls.serverName = "speedtest.cn"
    transport.tls.certFile = "/cert/FRP-Server_crt.pem"
    transport.tls.keyFile = "/cert/FRP-Server_prv.pem"
    transport.tls.trustedCaFile = "/cert/FRP-CA_crt.pem"
    ```
    ENE
        47
    ENE  
       2025 年 9 月 6 日
    修正一下
    ```frpc.toml
    transport.tls.enable = true
    transport.tls.serverName = "speedtest.cn"
    transport.tls.disableCustomTLSFirstByte = true
    transport.tls.certFile = "/cert/FRP-Client_crt.pem"
    transport.tls.keyFile = "/cert/FRP-Client_prv.pem"
    transport.tls.trustedCaFile = "/cert/FRP-CA_crt.pem"
    ```
    funnypc
        48
    funnypc  
       2025 年 9 月 27 日
    https://github.com/MikeWang000000/udp2raw

    这个可以提供 arm 版本的 binary 吗?
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3171 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 13:53 · PVG 21:53 · LAX 05:53 · JFK 08:53
    ♥ Do have faith in what you're doing.