Angriffsvektor IP-Spoofing

Das Transmission Control Protocol (TCP)

TCP unterscheidet sich von IP dadurch, dass es ein verbindungsorientiertes Protokoll ist. Bei TCP muss also zunächst eine Verbindung zur Gegenstelle aufgebaut werden. Das geschieht durch eine bestimmte Handshake-Sequenz (SYN, SYN/ACK, ACK). Während der Verbindung müssen sich die beiden Teilnehmer gegenseitig über den Fortschritt der Verbindung auf dem Laufenden halten. Dies erfolgt mittels so genannter "Sequences" und "Acknowledgements". Im Wesentlichen bedeutet dies, dass der Sender vom Empfänger jedes Mal ein OK zurückbekommt, wenn dieser ein Paket empfangen hat. Trifft das OK nicht ein, so wird das Paket erneut versendet.

Der TCP-Paket-Header enthält in den ersten zwei Bytes die Nummer des Quellports und in den nächsten zwei Bytes die Nummer des Zielports. Danach folgen weitere vier Bytes für die "Sequence Number" und vier Bytes für die "Acknowledge Number".

Die Sequence Number identifiziert das Paket innerhalb der Paketfolge, während die Acknowledge Number die Sequence Number des nächsten erwarteten Pakets identifiziert. Dadurch ist gewährleistet, dass beide Seiten der Verbindung sich darüber einig sein können, dass das richtige Paket korrekt übertragen wurde. Die Sequence Number wird dabei mittels eines speziellen Algorithmus generiert.