TCP (Transmission Control Protocol) ist ein Protokoll, das zum Senden und Empfangen von Daten in Netzwerken verwendet wird, einschließlich des Internets. Eine TCP-Verbindung ist ein Verfahren, das verwendet wird, um eine verlässliche Verbindung zwischen zwei Endpunkten herzustellen, um Daten austauschen zu können. Dieser Prozess, auch bekannt als “Drei-Wege-Handschlag”, beinhaltet das Senden einer SYN-Nachricht (Synchronisation) von dem Client zum Server, gefolgt von einer SYN-ACK-Nachricht (Synchronisation-Acknowledgement) vom Server zurück zum Client, und schließlich einer ACK-Nachricht (Acknowledgement) vom Client zum Server. Diesem Prozess stellt sicher, dass beide Endpunkte bereit und in der Lage sind, Daten zu senden und zu empfangen (V. Paxson et.al., “RFC 793 – Transmission Control Protocol”, Network Working Group, September 1981).
Ein TCP-SYN-Scan anderserseits, ist ein Art von Netzwerk-Scanning-Technik, die oft von Hackern verwendet wird, um zu bestimmen, welche Ports auf einem bestimmten System offen sind. Der SYN-Scan, auch bekannt als “halboffener Scan”, umfasst das Senden einer SYN-Nachricht an einen bestimmten Port auf einem Ziel-System. Wenn das Ziel-System mit einer SYN-ACK-Nachricht antwortet, weiß der Scanner, dass der Port offen ist. Der Scanner antwortet jedoch nicht mit der üblichen ACK-Nachricht, um den Drei-Wege-Handschlag abzuschließen, was bedeutet, dass die Verbindung halboffen bleibt (G. Lyon, “Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning”, Insecure.Com LLC, 2009).
Der Hauptunterschied zwischen einer TCP-Verbindung und einem TCP-SYN-Scan liegt also in ihrer Verwendung und ihrem Zweck. Während eine TCP-Verbindung dazu dient, eine zuverlässige Verbindung für die Datenübertragung aufzubauen, dient ein TCP-SYN-Scan dazu, Informationen über offene Ports auf einem Ziel-System zu sammeln. Ein weiterer wichtiger Unterschied ist, dass eine TCP-Verbindung den Drei-Wege-Handschlag-Prozess vollständig durchläuft, wohingegen ein TCP-SYN-Scan den Prozess absichtlich bei der halben Strecke stoppt, um zu verhindern, dass das Ziel-System eine vollständige Verbindung registriert.