Wie erkenne ich einen eingehenden SSL (https) -Handshake (SSL-Wire-Format)?

Ich schreibe einen Server, der eingehende TCP-Verbindungen akzeptiert. Angenommen, der Server hat eine TCP-Verbindung akzeptiert und vom Client bereits 16 (oder so) Bytes empfangen. Wenn der Server diese 16 Bytes kennt, wie kann er erkennen, ob der Client einen SSL-Handshake initiieren möchte?

Ich habe ein Experiment durchgeführt, das gezeigt hat, dass der Client auf meinem Linux-System, das über SSL eine Verbindung zu localhost (entweder 127.0.0.1 oder AF_UNIX) herstellt, den folgenden Handshake (Hexdump) sendet, gefolgt von 16 scheinbar zufälligen Bytes:

8064010301004b0000001000003900003800003500001600001300000a07
00c000003300003200002f03008000000500000401008000001500001200
0009060040000014000011000008000006040080000003020080

Wie sollte der Server diese ersten Bytes prüfen, um festzustellen, ob der Client einen SSL-Handshake sendet? Der Test muss für alle gültigen SSL-Handshakes true zurückgeben und mit hoher Wahrscheinlichkeit false für eine vom Client gesendete Nachricht, die kein SSL-Handshake ist. Es ist nicht erlaubt, Bibliotheken (wie OpenSSL) für den Test zu verwenden. Die Probe muss ein einfacher Code sein (wie ein paar Dutzend Zeilen in C oder Python).

Antworten auf die Frage(4)

Ihre Antwort auf die Frage