我无法理解为什么解密在这里不起作用。
考虑此 pcap 文件中的场景 -https://drive.google.com/open?id=0Bz5corUPBatBWWpXTFYwWjdfS0k
我有一个网络设置,
Internet Server (104.31.17.3)<---------> (eth1) Gateway (192.168.151.19) (eth0) <----------> Client (192.168.151.15)
对于此捕获的上下文,我使用过滤器 tcp 和 !ssh,并且只对从帧 #22 到帧 #98 的帧感兴趣
解释一下这些帧之间发生的事情 -
- 帧 22-30 是 TLS 握手。
- 第 31 帧是 GET 请求。防火墙规则会丢弃该请求。
- 帧 32-35 是针对同一 GET 请求的一些重新传输(参见数据包长度等)
- 帧 38-86 是客户端计算机(发出 GET 请求的计算机)和网关计算机交互。(rsync +ssh 通信 - 参见帧中的端口号 22)帧 61 只是 GET 请求的另一次重新传输。
- 帧 87 是客户端对 GET 请求的另一次重传。
- 第86帧和第87帧之间的时间差为0.9秒(在此期间更新了一些防火墙规则)。
- 帧 88 是服务器响应时包含 TLS 应用程序数据。Wireshark 无法解密我感兴趣的帧 88。
由于解析器代码已被修改,因此调试文件不易读取。(在循环中使用 ssl_debug_printf 语句需要用于其他目的)。请使用以下命令读取调试文件。“-C 参数打印 grep 字符串后的下 # 行”
cat debug.txt | grep -C 10 "frame #88"
我不明白为什么 Wireshark 无法解密 TLS 应用程序数据包。该数据包属于相同的 TCP 流、TCP 端口号和 SSL 对话。SSL 状态与初始 GET 请求(由于防火墙规则而被丢弃的请求 - 帧 31)的状态相同。