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

https 数据包被 UPF 追加插值了,请问服务端怎么恢复该包通过 mac 检验?

  •  
  •   FONG2 · 2022-10-09 10:09:36 +08:00 via Android · 1380 次点击
    这是一个创建于 777 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在 TLS 握手的 client hello 消息中插入私有扩展头,扩展头格式类似 server-name ,支持一个 extension 里封装多个扩展头数据列表,实现 HTTPS 的头增强数据携带。
    在 extension 字段中定义指定 extension_type 名称,例如运营商使用的字段名为 17965 的扩展字段。

    但是插值过之后会导致握手失败,客服端报 bad record mac 异常

    求问,这个场景服务端要怎么处理才可以获得这个插值并不影响原有的 https 握手?
    给个技术关键词 我搜索也行~ thx
    10 条回复    2024-08-26 17:55:24 +08:00
    jiulang
        1
    jiulang  
       2022-10-09 11:23:22 +08:00
    服务端的 tls 处理可能在代理层(如 nginx ),也可能直接到达应用层,但不管哪一层,都不好处理。所以不如在服务器的网络层处理和恢复 client hello 。
    winglight2016
        2
    winglight2016  
       2022-10-09 11:45:29 +08:00
    在代理那里再包一层 package ?
    julyclyde
        3
    julyclyde  
       2022-10-09 14:13:28 +08:00
    它要不报异常那才奇怪呢
    你应该问这个所谓 upf 他们厂家提供的方案是怎样的
    FONG2
        4
    FONG2  
    OP
       2022-10-09 16:18:19 +08:00 via Android
    @julyclyde 方案就是服务端进行处理,但是没有具体细节,意思就是他负责插值,其他不管,不过集团是有方案的,付费买。。
    FONG2
        5
    FONG2  
    OP
       2022-10-09 16:26:11 +08:00 via Android
    @jiulang 插值之后的请求,在 nginx 没有任何响应日志浏览器就报错了
    jiulang
        6
    jiulang  
       2022-10-09 16:30:11 +08:00
    @FONG2 得在 nginx 之前就把 client hello 包恢复回插值之前的
    FONG2
        7
    FONG2  
    OP
       2022-10-09 16:32:57 +08:00 via Android
    @jiulang 没错,我就是问这个,该怎么搞,没有头绪
    jiulang
        8
    jiulang  
       2022-10-09 18:11:38 +08:00
    linux 可以关注 eBPF ,windows 可以对于 windivert
    psly
        9
    psly  
       2023-09-25 20:59:46 +08:00
    请问楼主解决问题了吗,怎么解决的?
    FONG2
        10
    FONG2  
    OP
       90 天前
    @psly 没解决。。。还在研究中
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   951 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:29 · PVG 03:29 · LAX 11:29 · JFK 14:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.