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.comhandelt es sich um den SNI-Wert, den Sie testen, und www.YOURSERVER.comum 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.comPort herzustellen443 . Die -tlsextdebugOption aktiviert die TLS-Erweiterungs-Debugging-Ausgabe. Die -servernameOption weist das s_clientProgramm an, www.SERVERNAME.comwährend des TLS-Handshakes als Wert des SNI-Felds im ClientHello-Paket zu übergeben.
Schließlich wird 2>/dev/nulldie 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_clientder 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 -servernameOption 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:443Einige Hinweise zur Verwendung von SNI werden während des Qualys SSL-Tests gegeben .