1

我使用 fiddler 捕获并解密了一个 HTTPS 请求。它看起来像这样:

CONNECT qwer1234.com:443 HTTP/1.0
User-Agent: Blabla Example/1.0
Host: qwer1234.com:443
Content-Length: 0
Connection: Keep-Alive
Pragma: no-cache

A SSLv3-compatible ClientHello handshake was found. Fiddler extracted the parameters below.

Version: 3.3 (TLS/1.2)
Random: 13 35 55 0B F2 3C 9D A3 A2 C2 E4 3E 66 FA D3 DD E5 15 27 33 F1 E6 CD A5 E0 C4 10 4E 41 67 32 8E
SessionID: empty
Extensions: 
    renegotiation_info  00
    server_name qwer1234.com
    status_request  01 00 00 00 00
    elliptic_curves secp256r1 [0x17], secp384r1 [0x18]
    ec_point_formats    uncompressed [0x0]
    signature_algorithms    00 01 06 07 05 08 03 09 04 03 06 04 04 07 01 09
    SessionTicket   empty
Ciphers: 
    [003C]  TLS_RSA_WITH_AES_128_CBC_SHA256
    [002F]  TLS_RSA_AES_128_SHA
    [003D]  TLS_RSA_WITH_AES_256_CBC_SHA256
    [0035]  TLS_RSA_AES_256_SHA
    [0005]  SSL_RSA_WITH_RC4_128_SHA
    [000A]  SSL_RSA_WITH_3DES_EDE_SHA
    [C027]  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
    [C013]  TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA
    [C014]  TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA
    [C02B]  TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    [C023]  TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
    [C02C]  TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    [C024]  TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
    [C009]  TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
    [C00A]  TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
    [0040]  TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
    [0032]  TLS_DHE_DSS_WITH_AES_128_SHA
    [006A]  TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
    [0038]  TLS_DHE_DSS_WITH_AES_256_SHA
    [0013]  SSL_DHE_DSS_WITH_3DES_EDE_SHA
    [0004]  SSL_RSA_WITH_RC4_128_MD5

Compression: 
    [00]    NO_COMPRESSION 

这是一种特殊的 HTTPS 请求吗?为什么只有一半的请求被加密?随机生成的数字是什么意思/它们有什么用?我将如何使用 WinHttpRequest 发送此请求?它与其他 HTTPS 请求有何不同?

我很难找到合适的地方来问这样的问题。告诉我你是否认为我应该在不同的页面上问这个问题,如果是,在哪里。

4

1 回答 1

5

这根本不是 HTTPS 请求,而是CONNECTHTTPS 流量随后流经的隧道。客户端应用程序首先向CONNECT代理(如 Fiddler)发送请求,告诉他们在哪里建立 TCP/IP 连接,然后在连接建立后,执行 HTTPS 握手并发送请求。

在向您展示 CONNECT 隧道时,Fiddler 会分析参数并显示它们以供您阅读。当且仅当您在工具 > Fiddler 选项 > HTTPS 屏幕中启用了 HTTPS 解密时,实际的 HTTPS 请求才会出现在 Web 会话列表中的此隧道之后。

于 2014-04-15T14:13:11.437 回答