使用 openssl 检查 TLSv1.3 支持
Checking TLSv1.3 support using openssl
我正在使用 openssl 检查域列表中是否支持 tlsv1.3。我已经编写了脚本,但脚本并没有停止等待我按 CTRL+D 而不是它给我一个结果。
这是剧本
!/usr/bin/env bash
filename='domains.txt'
while read line;do
domain=$line
if openssl s_client -connect $domain:443 -tls1_3 2>/dev/null | grep -q 'Protocol : TLSv1.3'; then
echo "tls V 1.3 being used "
else
echo "tls v 1.3 not begin used"
fi
done <$filename
我也像这样将 echo 与 openssl 一起使用
echo "x" | openssl s_client -connect www.example.com:443 -tls1_3 2>/dev/null | grep 'Protocol : TLSv1.3'
注意:
当我 运行 终端上的单个站点命令时,我无需键入 CRTL+D 即可获得结果,但是当我在脚本中使用循环和 if 语句使用它时,它会等待我按 CTRL+D。真是奇怪。
我也试过 echo "q" | openssl 命令
喜欢:
echo Q | timeout 1 openssl s_client -connect www.example.com:443 -tls1_3 2>/dev/null
通过Q
会快速退出,无法连接时timeout
会退出
谢谢这对我有用。实际上,当我使用 grep 时,它给了我一个错误的结果,而没有 grep 它工作得很好。
#!/usr/bin/env bash
for i in `cat domain.txt`; do
echo $i
if echo Q | timeout 3 openssl s_client -connect $i:443 -tls1_3 2>/dev/null; then
echo "$i" "tlsv1.3 enabled" >>output.txt
else
echo "$i" "tlsv1.3 disabled" >>output.txt
fi
done
我正在使用 openssl 检查域列表中是否支持 tlsv1.3。我已经编写了脚本,但脚本并没有停止等待我按 CTRL+D 而不是它给我一个结果。 这是剧本
!/usr/bin/env bash
filename='domains.txt'
while read line;do
domain=$line
if openssl s_client -connect $domain:443 -tls1_3 2>/dev/null | grep -q 'Protocol : TLSv1.3'; then
echo "tls V 1.3 being used "
else
echo "tls v 1.3 not begin used"
fi
done <$filename
我也像这样将 echo 与 openssl 一起使用
echo "x" | openssl s_client -connect www.example.com:443 -tls1_3 2>/dev/null | grep 'Protocol : TLSv1.3'
注意: 当我 运行 终端上的单个站点命令时,我无需键入 CRTL+D 即可获得结果,但是当我在脚本中使用循环和 if 语句使用它时,它会等待我按 CTRL+D。真是奇怪。
我也试过 echo "q" | openssl 命令
喜欢:
echo Q | timeout 1 openssl s_client -connect www.example.com:443 -tls1_3 2>/dev/null
通过Q
会快速退出,无法连接时timeout
会退出
谢谢这对我有用。实际上,当我使用 grep 时,它给了我一个错误的结果,而没有 grep 它工作得很好。
#!/usr/bin/env bash
for i in `cat domain.txt`; do
echo $i
if echo Q | timeout 3 openssl s_client -connect $i:443 -tls1_3 2>/dev/null; then
echo "$i" "tlsv1.3 enabled" >>output.txt
else
echo "$i" "tlsv1.3 disabled" >>output.txt
fi
done