尝试 grep

尝试 grep

是否可以使用 openssl 命令来检查实时网站上的 SSL 证书的密码?

例如使用类似的东西: openssl s_client -connect example.com:443 -crlf

上述命令将与密码一起返回大量信息: Cipher : TLS_AES_256_GCM_SHA384

我正在寻找仅返回密码值的 openssl 命令。

答案1

尝试 grep

$ echo -n '' | openssl s_client -connect example.com:443 2>&1 | grep -Po "(?<=Cipher is ).*$"
TLS_AES_256_GCM_SHA384

或者您也可以将其包装到像这样的函数中……

$ function get-s_clientCipher {
    echo -n '' | 
    openssl s_client -connect $1 2>&1 | 
    grep --perl-regexp --only-matching -- "(?<=Cipher is ).*$";
}

...然后像这样使用它...

$ get-s_clientCipher example.com:443
TLS_AES_256_GCM_SHA384

但我不确定这是否对你有帮助。因为结果很大程度上取决于你的本地环境。所以它几乎没有什么普遍意义。——所以如果你想对服务器的密码进行更一般的诊断,那么使用类似https://testssl.sh/shell 脚本。(或者,如果服务器可以通过互联网访问,请尝试https://www.ssllabs.com/ssltest/

相关内容