实际上我想比较两个 ssh 客户端,自定义客户端(使用 OpenSSH 库)和 PuTTY。并查看正在发送哪些命令。我在 SUSE Linux 机器上使用 Wireshark 来捕获网络数据包。我面临的问题是 wireshark 中显示的所有数据包都是加密的。有没有办法解密来自客户端的 ssh 数据包?
设置:SUSE Linux 系统已运行 SSH 服务器。已启用密码验证并已禁用 pubkeyauthentication。
答案1
根据Wireshark Wiki 的 SSH 部分,只有连接的纯文本部分(用于密钥交换和其他握手)可用,并且无法解密加密数据包。
Wireshark 中的 SSH 解析器可以解析大多数未加密的连接设置数据包。
与 SSL 解析器不同,没有编写任何代码来解密加密的 SSH 数据包/有效负载。除非从 SSH 服务器或客户端(SSL 中的“SSLKEYLOGFILE”方法)提取共享密钥(来自 Diffie-Hellman 密钥交换),否则这也是不可能的。