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

游戏加速中,怎么确定 UDP 的目标服务器是真的游戏服务器?

  •  
  •   yuyuyu · 2022-11-17 15:32:48 +08:00 · 4280 次点击
    这是一个创建于 730 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如拦截到一个发往 1.1.1.1 的 udp 包,怎么确定出这个 UDP 包的目标服务器 1.1.1.1 真的是游戏服务器,而不是有人利用游戏加速,实际加速的不是游戏而是自己的某些服务,发往的 1.1.1.1 也不是游戏服务器而是自己的某台服务器,只是在利用游戏加速的线路而已? 暂时不考虑 P2P ,只考虑 C/S 模式,而且这个 1.1.1.1 也没有域名解析,是游戏从某个 API 接口获取的服务器列表里的(我们不太可能去找到个接口,而且可能是加密的) 一般成熟的游戏加速器是咋做的?比如 UU 啥的

    第 1 条附言  ·  2022-11-17 16:57:52 +08:00
    我知道可以用白名单,但问题就在于,怎么搜集到游戏的所有服务器 IP ,你没有游戏的获取服务器 IP 接口,而且游戏服务器可能增加减少,要怎么把这些 IP 收录到白名单里呢……
    23 条回复    2022-11-21 11:20:33 +08:00
    sujin190
        1
    sujin190  
       2022-11-17 15:44:17 +08:00
    白名单呗,反正游戏服务提供商也不可能动不动大范围改 ip 吧,一下不就给你堵死了
    youyi1996
        2
    youyi1996  
       2022-11-17 15:45:19 +08:00
    白名单
    yuyuyu
        3
    yuyuyu  
    OP
       2022-11-17 15:55:11 +08:00
    @youyi1996
    @sujin190
    关键是怎么定义这个白名单?用 IP 吗?如果游戏服务器用的是 GCP 美国,那要把整个 GCP 美国的 IP 都加入白名单?那也不保险啊,如果有人故意就在 GCP 美国部署自己的服务器,那他自己的服务器 IP 不也在白名单里吗?
    sujin190
        4
    sujin190  
       2022-11-17 16:06:01 +08:00
    @yuyuyu #3 游戏服务器虽然用的是 GCP 美国,但是人家用的是 GCP 固定一部分 ip ,这些 ip 已经被游戏服务商买了,你如何用得了,又不是把整个 GCP 的 ip 都加入了白名单,是把游戏提供商买了真的提供服务的 ip 才会被加入白名单,其他人肯定用不了啊
    mainjzb
        5
    mainjzb  
       2022-11-17 16:07:16 +08:00
    事实就是,如果你努力挖掘,你可以利用加速器达到你想要的效果。只不过成本太高了。 还不如花 200 块找个机场。
    mainjzb
        6
    mainjzb  
       2022-11-17 16:09:57 +08:00
    举个极端的例子,你自己运营一个美国游戏,并且带入一部分中国玩家。直到某些加速器支持你。(比如某些私服游戏,这种例子很流行)
    那么发往这个私服游戏的数据包被你作为机场线,那么没有任何加速器能拦截。
    yuyuyu
        7
    yuyuyu  
    OP
       2022-11-17 16:51:19 +08:00
    @sujin190 现在就是在问你说的“人家用的是 GCP 固定一部分 ip”这部分固定 IP 怎么找到呢?
    29EtwXn6t5wgM3fD
        8
    29EtwXn6t5wgM3fD  
       2022-11-17 16:55:44 +08:00
    加速器运营早期可能是用的是软件包加速,采集游戏服务器的 IP ,后续就采用 IP 库加速。
    sujin190
        9
    sujin190  
       2022-11-17 16:59:13 +08:00   ❤️ 4
    @yuyuyu #7 直接上门去谈合作问呗,你又不是抢游戏提供商生意,是帮人家提高服务质量,人家大概率会很欢迎很开心直接告诉你或者给你个更新接口用,别只想着用技术解决问题好吧,还有合作共赢,当然你有办法通过技术方法找到倒是可以节省不少成本,如果你想做这个生意自然要有方法可以做到,只是那些做得久做的好的大概率应该是用前一种方法才对
    Shura
        10
    Shura  
       2022-11-17 17:18:23 +08:00
    @yuyuyu 抓包啊,或者直接问。
    AlphaTauriHonda
        11
    AlphaTauriHonda  
       2022-11-17 17:38:27 +08:00 via iPhone
    有人把游戏加速给自己的服务用有问题吗?
    游戏加速应该带宽很小吧,真有人会这么做?
    acbot
        12
    acbot  
       2022-11-17 21:07:48 +08:00
    白名单不行就黑名单,首先,在 7 层上拦截非游戏协议,比如:HTTP 等;其次,拦截敌特 IP 段。
    qwvy2g
        13
    qwvy2g  
       2022-11-17 21:12:16 +08:00 via Android
    国外的大作游戏大多数是基于 p2p 的,这部分大陆运营商优化不了。只能用加速器。
    kyor0
        14
    kyor0  
       2022-11-17 22:45:38 +08:00 via iPhone
    我自己在用 uu 加速 ps5 ,我觉得 uu 是用 dns 在做分流。用 uu 是时候不影响翻墙。tcp 貌似有白名单,有时候绑定游戏账号时域名是走的梯子,udp 不清楚
    mytsing520
        15
    mytsing520  
       2022-11-18 06:34:10 +08:00
    @kyor0
    不会只做 DNS 分流的
    pkoukk
        16
    pkoukk  
       2022-11-18 10:36:55 +08:00
    https://github.com/FQrabbit/SSTap-Rule
    看这个项目就知道了呗,就是纯 IP 白名单
    首先最重要的一点,游戏服务器的对外 IP 一般情况是稳定的,不会随意漂移的
    其次就算拿不到厂商提供的接口,加速器加速游戏失败,玩家会爆破你的客服
    客服向上反馈一下,让技术重新抓一下 IP 就完事了
    积极点可以每小时 /每分钟定时去刷一下游戏 IP ,比对更新嘛,这有什么难的
    libook
        17
    libook  
       2022-11-18 11:21:52 +08:00
    做加速器的,一般会测试游戏有哪些网路请求,然后把这些请求地址做成白名单配置文件,封装成某一个游戏的加速配置项目。

    你要想自己做游戏加速,然后看一下游戏进程有哪些网络请求就行了,需要注意的是很多都会使用域名,然后域名动态绑定 IP 或者 CDN 分流,你要用那种可以显示域名的工具才能抓到相对固定的地址。
    libook
        18
    libook  
       2022-11-18 11:23:34 +08:00
    有一种可能覆盖不到,就是游戏会先请求一个配置文件,每次请求到的配置文件里面的服务器列表会不一样,这种要么解析游戏配置信息,要么用其他方式搞到游戏所有服务器地址的信息。
    Darkatse
        19
    Darkatse  
       2022-11-18 18:49:21 +08:00
    现在一般靠的都是进程模式+ip 双判断
    qwvy2g
        20
    qwvy2g  
       2022-11-18 19:17:37 +08:00
    你可以试试把代理软件改成 p2p 游戏进程名字试试。
    yulon
        21
    yulon  
       2022-11-19 15:25:37 +08:00
    首先游戏加速有不同模式:
    1 、用户级 hook
    2 、虚拟网卡
    3 、拦截网络包

    2 的话必须要知道游戏服务器的 IP 才可以设置路由,所以加速器厂商是肯定统计过游戏服务器 IP 的,然后用这些 IP 给 1 和 3 也做个白名单,就不会有漏网之鱼了。

    如果是 P2P 游戏的话,首先游戏服务器相对固定,不固定的是玩家 IP ,那么只要对玩家 IP 产生的数据报识别一下就行,毕竟玩家之间的通讯肯定是固定协议。

    只能说在墙内做加速器,又要小心翼翼的不给翻墙,确实是门学问。

    当然加速器节点在连接时肯定还会再判断一次,客户端判断是为了减少节点压力,节点再判断一次就是确保万无一失。
    diguoemo
        22
    diguoemo  
       2022-11-20 17:44:05 +08:00 via Android
    Uu ,绝地求生东南亚服,去买新加坡的 aws 用模式 3 可以被加速到,限速有点狠
    Kinnice
        23
    Kinnice  
       2022-11-21 11:20:33 +08:00
    1. 协议识别和采集 IP
    2. 限速
    3. 敏感网站黑名单
    4. 和游戏厂商合作
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1432 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:39 · PVG 01:39 · LAX 09:39 · JFK 12:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.