私が実行したとき:
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
て接続に成功すると、すぐに閉じて目的の動作を取得します。