Unix
是否可以在 openssl 的 s_client 命令上設置超時?
我有一個腳本,它使用 openssl 的 s_client 命令為大量主機提取證書。由於防火牆,其中一些主機將不可避免地無法訪問。是否可以將 s_client 超時設置為比預設值短得多的值?我在手冊頁/幫助文件中沒有看到。
該或某種包裝器命令將在 X 秒後自動終止 openssl -s_client。
如果可能的話,我不希望預先測試主機/埠的可用性。
使用 GNU coreutils 包中的 timeout 命令。
timeout <time> <command>
或者,查看對這個存檔部落格文章的第一個回复,以獲得僅限 bash 的答案。
對於第一個循環:while read servername;do
超時 2 bash -c “/dev/tcp/ $ servername/ $ 埠” && echo 埠打開。|| echo 埠關閉。
完畢
但是開放的埠更難: timeout 1 openssl s_client -showcerts -connect $ servername: $ 港口