2014-09-10 115 views
10

(評論員:我也知道這是誤入超級用戶的領土,但如果通過... :)悄悄前面的問題)如何連接後終止的OpenSSL的s_client.First

這是非常相似的,但在Windows(7/8/Server 2008/2012)環境:我正在使用OpenSSL的Windows端口。

我跑

openssl s_client -connect 192.168.0.1:443

從命令提示符

,以顯示證書信息。然而,openssl之後等待用戶輸入;我可以Ctrl + C來「打破」輸出,或者每一個只輸入幾個字符並打回來,但我需要自動化 - 我真正感興趣的是證書信息。

根據前面的問題,我需要一些方法來終止/關閉連接。不過,我已經嘗試在輸入文件中輸入管道,並且似乎沒有任何東西模擬真正的用戶。任何人都可以告訴我如何強制openssl在連接後退出?

回答

1

在空行的開頭輸入字母「Q」將結束活動連接。我已經看到s_client進入狀態,這沒有做任何事情,但這是退出會話的記錄方式。

如果你想這樣做,在批處理模式下,只需創建以字母「Q」,然後回車一個文本文件,並將其引導到命令的,像這樣的結尾:

openssl s_client -connect host:port < Q.txt 

我試過這個,它的工作原理。

+1

這看起來很有希望,當然運行OpenSSL的時候交互工作 - 但有什麼辦法可以「管」是輸入命令,這樣我可以強制的OpenSSL簡單地連接,顯示信息並退出? – KenD 2014-10-22 13:18:00

17

您可以通過使用管道傳遞字符「Q」來達到所需的效果。這使得一個偉大的班輪的腳本:

echo "Q" | openssl s_client -connect host:port