Netzwerkanalyse mit Wireshark Teil 3 - TCP-IP-Grundlagen für die Netzwerk-Analyse

Für den erfolg­reichen Einsatz von Wireshark (oder Sniffern wie tcp-dump) ist es not­wendig, dass man sich im TCP/IP- bzw. im OSI-Schichten­modell sicher bewegt. Die grund­legenden Zusammen­hänge kann man sehr schön in Wireshark verifi­zieren, ganz unab­hängig vom trans­portieren Proto­koll und dem Einsatz­zweck.

Ange­nommen wir sind im klassischen Ethernet kabelgebunden (CAT 6) unterwegs und berück­sichtigen nur die unteren 4 Schichten. Dann haben wir es mit folgenden Segment-/Packet- und Frame-Größen zu tun, wobei die Header des TCP- und des IP-Protokolls jeweils 20 Byte (ohne Optionen) umfassen.

Die Kombination aus Header und Trailer beim Ethernet-Frame auf Schicht 2 (der einzige Layer, bei dem man eigentlich real von Kapselung sprechen dürfte) macht 14+4=18 Byte aus. Die Payload wird ergänzt um den Header der jeweils höheren Schicht für die Nutz­daten der darunter liegenden Schicht:

  • Layer 4: TCP-Segment = MSS = 1480 = 1460 (Payload) + 20 Byte Header (4 Words)
  • Layer 3IP-Paket = MTU = 1500 = 1480 Payload + 20 Header (4 Words)
  • Layer 2: Ethernet-Frame = (bei Ethernet) = 1518 = 1500 Payload + 18 (14 Byte Header + 4 Byte Trailer)
Die ISO/OSI-Layer 1 bis 4

 

Eine Ausnahme bildet die Verwendung von IEEE 802.1Q-Tags (für VLAN oder Priorisierung). Dort wird der Header um vier Byte erweitert und das Frame damit maximal 1522 Byte groß.

Dazu noch mal zur Erinnerung der Aufbau des Ethernet-Frame (Schicht 2):

Ziel-MAC (6B) – Quell-MAC (6B) – Typ (2B) – Payload (1500B) – FCS (4B) = 1518

Das Typ-Feld gibt an, um welche Art von Packet es sich handelt, das hier von Schicht 3 eingekapselt ist, bei IPv4 z. B. 0x0800.

Bei IP (Schicht 3) ist der Header etwas komplexer aufgebaut und wird meist in 5 Worten untereinander = 20 Byte dargestellt, wobei die Horizontale genau 32 Bit (4 Byte) umfasst. Eine typische Abbildung ist diese:

Der IP-Header

Die Bedeutung der einzelnen Felder sollte bekannt sein. Übrigens werden Optionen/Füllbits meist nicht genutzt, sodass es beim Header bei genau 5 Worten x 4 Bytes = 20 Bytes bleibt. Diese Zählweise in Worten ist im IHL-Feld spezifiziert. Im Gegensatz zum Ethernet-Frame sind die Quell- und Ziel-IP anders als Ziel- und Quell-MAC auf Layer 3 nicht vertauscht und jeweils 32 Bit (4 Byte) lang (bei IPv4). Relevant für die folgenden Betrachtungen ist das Protocol-Feld. Analog zum Typ-Feld auf Layer 2 gib es an, welches höherwertige Protokoll eingekapselt bzw. trans­portiert wird. Beispiele wären die Layer-4-Protokolle TCP (Protocol-Nr. 6), UDP (Protocol-Nr. 17) und ICMP mit der Protocol-Nr. 1. Dieses ist allerdings im Gegensatz zu TCP und UDP ein Layer-3-Protokoll wie IP selbst auch.

Werfen wir der Voll­stän­digkeit halber noch einen Blick auf Layer 4, und zwar den TCP-Header, auch wenn wir unsere Analysen mit ICMP starten wollen.

Der TCP-Header

Hier beginnt der Aufbau des ebenfalls 20 Bit langen TCP-Headers (ohne Optionen/Füllbits) mit Quell- und Ziel-Port. Da TCP im Gegensatz zu UDP über eine Fluss­kontrolle verfügt und immer sicherstellt, dass Segmente auch ankommen, sind für spätere Analysen die Felder Sequence-NumberAcknowledgement-NumberFlags und Window-Size von Bedeutung.

Hier weiterlesen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.