Ich habe einen Linux-Server, der eine etablierte TCP-Port-Verbindung zu einem Client hat. Kann ich mit einem der Netzwerkbefehle einer einfachen Linux-Installation oder mit dem Befehl nmap irgendwie überprüfen, ob die Verbindung auf diesem Port TLS 1.2 unterstützt?
Antwort1
Ah, entschuldigen Sie, ich habe zunächst den Ausdruck „TCP-Verbindung hergestellt“ übersehen. Wenn Sie wissen, wie der Datenstrom für die Anwendung aussieht, wenn er unverschlüsselt ist, können Sie einfach TCPDump verwenden, um den Datenverkehr aufzuzeichnen und zu prüfen, ob er den Daten der Anwendung ähnelt.
Wenn Sie die Anwendungsdaten sehen können, wissen Sie, dass sie nicht verschlüsselt sind.
--- ursprüngliche Antwort ---
Sie können OpenSSL verwenden:
openssl s_client -connect hostname:port
Weitere Informationen finden Sie unterhttps://www.openssl.org/docs/man1.0.2/apps/openssl-s_client.html
Antwort2
Nein, SSL/TLS ist keine Eigenschaft des zugrunde liegenden Kernel-Netzwerk-Sockets und wird daher von keinem der Tools wie netstat
, ss
, usw. verfügbar gemacht.
Sie müssten tcpdump
den Netzwerkverkehr zwischen den beiden Prozessen erfassen und analysieren, insbesondere den anfänglichen Verbindungs-Handshake, der Ihnen zeigen sollte, welche TLS-Version vorgeschlagen und akzeptiert wird. Ich bin nicht sicher, wie sichtbar die Version ist, nachdem der Handshake durchgeführt wurde.