当我执行时:
openssl s_client -connect google.com:443
openssl s_client -connect government.ru:443
这给了我有价值的输出,但我想openssl
关闭连接并退出返回一个整数退出代码(不同),以便我可以做这样的事情
echo "Domain?";read d
openssl s_client -connect "$d":443
if [[ "$?" -eq 0 ]]; then
echo "Encrypted"; do_something
else
echo "Plain."; do_something_else
fi
答案1
s_client
识别Q
命令。openssl 文档:
Q: End the current SSL connection and exit.
printf "Q" | openssl s_client -connect google.com:443
或者:
echo | openssl s_client -connect google.com:443
或者:
openssl s_client -connect google.com:443 <<< "Q"
答案2
如果运行openssl s_client -connect google.com:443
并且 TLS 连接成功,该命令将等待标准输入上的数据,以便通过连接发送。
如果您运行openssl s_client -connect google.com:443 </dev/null
并且连接成功,它将立即关闭,您将获得您正在寻找的行为。