yamada
V2EX  ›  Android

android redsocks 在代理 HTTPS 的时候不支持 SNI,有支持 SNI 的 HTTPS 代理么?

  •  
  •   yamada · Dec 12, 2015 · 13018 views
    This topic created in 3807 days ago, the information mentioned may be changed or developed.

    在 android ,我有根证书以及准备动态生成自签名证书,然后通过 iptables 和 redsocks 代理 HTTPS 连接过来,然后用自签名证书欺骗。
    然而 redsocks CONNECT 过来的只有 IP 地址我根本不知道 hostname 是什么,没办法生成自签名证书,即便是根证书添加到系统信任里了,自签名证书 hostname 对不上也没用,现在卡在这里了。
    我想 TLS 连接的时候不是 SNI 么, redsocks 看起来不支持 SNI ,有什么 redsocks 的替代么支持 SNI 的可以拿到 hostname 的?

    4 replies    2015-12-13 18:27:21 +08:00
    msg7086
        1
    msg7086  
       Dec 13, 2015
    后面接一个 sniproxy 试试。
    yamada
        2
    yamada  
    OP
       Dec 13, 2015
    @msg7086
    sniproxy 好像不能在 android 上跑?我不太懂怎么编译……在 centos 上装了个然后复制到手机上运行有错误,估计是 X86 和 ARM 版编译的问题,另外查了下貌似 ANDROID APACHE 的 HTTP 库都不支持 SNI ? FB 、推之类的客户端用的都是这个所以不支持……
    https://www.sunp.eu.org/t/163330
    msg7086
        3
    msg7086  
       Dec 13, 2015
    @yamada 咦要在安卓内部跑?这是什么需求?
    你可以在安卓上编译一下看看。
    yamada
        4
    yamada  
    OP
       Dec 13, 2015
    @msg7086 我想到了另外一个办法,就是利用 dnsmasq 来做 dns 解析, dnsmasq 可以写日志,我可以从日志中找到 ip 对应的域名然后来生成证书,但现在不管我怎么配置 dnsmasq 就是死活不写日志,明明已经正常运行了
    我在 conf 已里已经设置过了 log-facility=/data/data/xxxx/dns.log 和 log-queries
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2553 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 16:05 · PVG 00:05 · LAX 09:05 · JFK 12:05
    ♥ Do have faith in what you're doing.