V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wjx0912
V2EX  ›  程序员

有使用 HTTP Debugger 的吗,这个软件是啥原理

  •  
  •   wjx0912 · 73 天前 · 1986 次点击
    这是一个创建于 73 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用来抓 https 包的,不用修改系统代理,不知道啥原理,感觉很神奇。请教了

    另外还有没有类似的工具(过滤规则感觉不太完善,目前只能‘含有’,要是能过滤‘不含有’就好了)

    23 条回复    2024-03-10 13:50:16 +08:00
    crissx
        1
    crissx  
       73 天前
    Fiddler 呢
    wjx0912
        2
    wjx0912  
    OP
       73 天前
    @crissx fiddler 是 proxy 类软件,这种太多了
    weeei
        3
    weeei  
       73 天前
    可能用 Inline Hook 网络相关的 API
    wjx0912
        4
    wjx0912  
    OP
       73 天前
    钩子扫描没发现 inline hook 和 iat hook ,况且这个得遍历进程吧,感觉可能性不大。这个软件真的很神奇,https 的都可以直接看到明文,非常好奇原理
    zephyru
        5
    zephyru  
       72 天前
    Charles ? 这个需不需要代理忘记了
    flyhaozi
        6
    flyhaozi  
       72 天前
    这个页有部分说明,5.0 之前使用的 hook ,之后是中间人安装根证书的方式(新版 chrome 不支持 hook )
    https://www.httpdebugger.com/http/http_sniffer.html
    flyhaozi
        7
    flyhaozi  
       72 天前
    @flyhaozi 写的是中间人方式,也不一定是安装根证书,应该也有其他方式来解密 https ,抓包原理猜测是 wireshark 那种?
    Puteulanus
        8
    Puteulanus  
       72 天前
    听你的描述有点像 Debookee ,它可以在手机完全不设置的情况下抓手机的明文包,也可以在手机不修改额外设置的情况下(只导入 CA 证书)直接看到手机的 HTTPS 请求内容
    我感觉是网卡的混杂模式,加上可能用了 arp 攻击之类的原理来让内网设备的流量强行经过自己

    但是 Debookee 价格超贵(死
    wjx0912
        9
    wjx0912  
    OP
       72 天前
    @zephyru Charles 需要代理的
    @flyhaozi 但是没看到它改系统代理
    wjx0912
        10
    wjx0912  
    OP
       72 天前
    @Debookee http debugger 是 win 软件。。。
    l4ever
        11
    l4ever  
       72 天前
    是 hook 没错了
    fuzzsh
        12
    fuzzsh  
       72 天前 via Android
    有个系统变量 ssl key log(类似,准确名请自行搜索

    软件读 log 即可 decrypt
    fuzzsh
        13
    fuzzsh  
       72 天前 via Android
    fiddler 也可用 log decrypt ,不用 mitm
    摸索下配置
    businessch
        14
    businessch  
       72 天前 via iPhone
    用的驱动级 hook 进程
    chocolatesir
        15
    chocolatesir  
       72 天前
    就是这个让我困扰了好久,之前用 pc 夸克网盘下东西的时候下一点就失败,点继续又可以下一点还是失败,后面和夸克的技术人员排查了好久都没解决,直到我打开了 httpdebugger 下载就正常了,果然是这个引起的。但是我就奇怪了,系统代理里也没有设置这个,开机启动项也没这个,最后终于在服务里找到了 http debugger ,停用就解决了。
    wjx0912
        16
    wjx0912  
    OP
       72 天前
    @fuzzsh 你说的是针对 chrome 类型的吧,但是 httpdebugger 可用于所有软件
    wjx0912
        17
    wjx0912  
    OP
       72 天前
    @businessch 有相关的函数名吗
    wjx0912
        18
    wjx0912  
    OP
       72 天前
    @chocolatesir 长期开 http debugger 好像是有问题,有可能是 14 楼说的驱动级 hook 进程
    1194129822
        19
    1194129822  
       72 天前   ❤️ 1
    @wjx0912 giao ,还以为真有黑魔法呢,我装了 HTTP Debugger ,发现想解密 https 流量,还是需要安装 CA 证书,成为中间人。
    tls 流量从原理上来说,在传输过程中是基本不可能被解密的,只有在终端上捕获产生的对称加密密钥,或者捕获加密解码函数,在函数调用前和返回后,捕获未加密或已解密的数据包,eBPF 等 hook 技能就能做到。

    关于抓包就更简单了,设置系统代理只是最简单的方式、hook 进程、驱动层捕获内核流量、tun/tap 等虚拟网卡技术加全局路由,实现透明代理,然后配合巨硬的 MIB 库轻松实现进程级流量控制。
    weiqk
        20
    weiqk  
       71 天前
    winsock SPI 分层网络,可能是这个,名字可能不对,这个关键字肯定能检错出来
    rainbowismagic
        21
    rainbowismagic  
       71 天前
    @1194129822 所以结论是不能看 https 的明文吧?
    Windows 有啥办法可以看一个应用的 https 明文
    epiphyllum
        22
    epiphyllum  
       71 天前   ❤️ 2
    HTTP Debugger 会启动 HttpDebuggerSdk 和 HTTPDebuggerPro 这两个服⁡务,其中 HttpDebuggerSdk 会加载事先释放到%WINDIR%\System32\HttpDebuggerSdk.sys 的驱动程序。原理就在这个驱动的文件说明里,如⁡下⁡图(都不用逆⁡向了

    cdn.sa.net/2024/03/10/mTAHRIa5JiwfMSp.png

    HTTP Debugger 直接把从 netfilters[d⁡ot]com 那里买⁡来的驱动拿来用;利用 Windows Filtering Platform ( WFP )的确可以在无需额外配置的情况下相比竞⁡品抓到更多数⁡据,而且还不用改 System Pr⁡oxy 设置。

    解密 TLS 的原理的话,HTTP Debugger 和其它同品⁡类软件的原理应该是类似的。(捕获数据时,可以看到浏览器里网⁡站们的证⁡书颁发机⁡构的 Common Name 都是"HTTP DEBUGGER CA for DEBUG ONLY 2"。
    wjx0912
        23
    wjx0912  
    OP
       71 天前
    感谢各位高手

    @epiphyllum 太专业了,讲解的非常清晰。谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4459 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 09:59 · PVG 17:59 · LAX 02:59 · JFK 05:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.