Der eine Liner, nach dem Sie wahrscheinlich suchen, um das Vorhandensein eines Erweiterungsheaders für die SSL / TLS-Servername-Anzeige zu erkennen, ist:
openssl s_client -servername www.SERVERNAME.com -tlsextdebug -connect www.YOURSERVER.com:443 2>/dev/null | grep "server name"
Dabei www.SERVERNAME.com
handelt es sich um den SNI-Wert, den Sie testen, und www.YOURSERVER.com
um den Domänennamen oder die IP-Adresse des TLS-fähigen Servers, den Sie testen.
Die Befehlszeile verwendet openssl
's s_client
(siehe s_client (1) ), um eine Verbindung zum Server an einem www.YOURSERVER.com
Port herzustellen443
. Die -tlsextdebug
Option aktiviert die TLS-Erweiterungs-Debugging-Ausgabe. Die -servername
Option weist das s_client
Programm an, www.SERVERNAME.com
während des TLS-Handshakes als Wert des SNI-Felds im ClientHello-Paket zu übergeben.
Schließlich wird 2>/dev/null
die stderr-Ausgabe (die laut sein kann) einfach ausgeblendet, und die | grep "server name"
Pipeline filtert stdout, um die TLS-Erweiterung mit dem Namen "Servername" in s_client
der TLS-Erweiterungs-Debugging-Ausgabe anzuzeigen .
Wenn Sie eine Ausgabezeile sehen, wie z
TLS server extension "server name" (id=0), len=0
dann gibt der Server in seiner ServerHello-Antwort SNI-Header-Informationen zurück. Andernfalls unterstützt der Server möglicherweise weder SNI noch wurde er so konfiguriert, dass er SNI-Informationen mit dem von Ihnen gewünschten Namen zurückgibt. Stellen Sie in diesem Fall sicher, dass Sie einen Domänennamen in der -servername
Option verwenden, über die der Server mit SNI-Informationen antworten soll.
openssl
. Einige Details sind verfügbar:openssl s_client -servername alice.sni.velox.ch -tlsextdebug -msg -connect alice.sni.velox.ch:443
Einige Hinweise zur Verwendung von SNI werden während des Qualys SSL-Tests gegeben .