Wie der Netzwerkverkehr fließt

Wie der Netzwerkverkehr fließt – Erste Schritte
Gideon T. Rasmussen – CISSP, CFSO, CFSA, SCSA

Um ein Problem zu beheben, müssen Sie wissen, wie der Netzwerkverkehr unter normalen Umständen fließt. In diesem Artikel wird beschrieben, was passiert, wenn ein Webbrowser für den Zugriff auf eine Website verwendet wird.

Sobald der Name der Website in einen Webbrowser eingegeben wurde, erfolgt eine Reihe von Kommunikationen über verschiedene Protokolle. Die folgende Tabelle zeigt, wie der Netzwerkverkehr fließt:

Linie:
Protokoll:
Quelle:
Zielort:
Daten:
1
ARP
10.0.1.13
Sendung
Wer hat 10.0.1.1? Tell 10.0.1.13
2
ARP
10.0.1.1
10.0.1.13
10.0.1.1 ist um 00:80:c8:57:d3:aa
3
DNS
10.0.1.13
10.0.1.1
Standardabfrage A www.cyberguard.com
4
DNS
10.0.1.1
10.0.1.13
Standardabfrageantwort CNAME cyberguard.com A 64.94.50.88
5
TCP
10.0.1.13
64.94.50.88
1939 > http
6
TCP
64.94.50.88
10.0.1.13
http > 1939
7
TCP
10.0.1.13
64.94.50.88
1939 > http
8
HTTP
10.0.1.13
64.94.50.88
GET / HTTP/1.1
9
HTTP
64.94.50.88
10.0.1.13
HTTP/1.1 200 OK
10
HTTP
64.94.50.88
10.0.1.13
HTTP Continuation
11
TCP
10.0.1.13
64.94.50.88
2577 > http Seq=388864 Ack=37076821 Win=8241 Len=0
12
TCP
10.0.1.13
64.94.50.88
2577 > http Seq = 388864 Ack = 37077089 Gewinnen = 0 Len=0

Das ARP-Protokoll

Bevor Systeme kommunizieren können, müssen sie die Hardwareadressen des jeweils anderen kennen. Hierfür wird das Address Resolution Protocol (ARP) verwendet. Aus seiner Konfiguration kennt die Workstation die IP-Adresse des DNS-Servers.

Linie # 1

Protokoll: Quelle: Ziel: Daten:
ARP 10.0.1.13 Broadcast Wer hat 10.0.1.1? Tell 10.0.1.13

Die Workstation sendet eine Anfrage an die Geräte in ihrem Netzwerk und fragt, „wer“ die IP-Adresse hat, mit der sie kommunizieren muss.

Linie # 2

Protokoll: Quelle: Ziel: Daten:
ARP 10.0.1.1 10.0.1.13 10.0.1.1 ist um 00:80:c8:57:d3:aa

Das Remote-System antwortet mit seiner Hardware-Adresse. Jetzt, da die Workstation die Hardwareadresse des Remote-Systems kennt, kann sie mit ihm kommunizieren.

Das DNS-Protokoll
Das DNS-Protokoll (Domain Name System) wird verwendet, um Systemnamen in IP-Adressen aufzulösen. Wenn ein Websitename in einen Browser eingegeben wird, muss die Workstation die entsprechende IP-Adresse kennen, um den Webserver zu erreichen, auf dem die Site gehostet wird.

Linie # 3

Protokoll: Quelle: Ziel: Daten:
DNS 10.0.1.13 10.0.1.1 Standardabfrage Ein www.cyberguard.kom

Die Workstation fordert den DNS-Server auf, die IP-Adresse des Webservers anzugeben. www.cyberguard.com .

Zeile # 4

Protokoll: Quelle: Ziel: Daten:
DNS 10.0.1.1 10.0.1.13 Standardabfrageantwort CNAME cyberguard.com A 64.94.50.88

Der DNS-Server antwortet mit der IP-Adresse entsprechend www.cyberguard.com.

Das TCP-Protokoll

Das TCP-Protokoll (Transmission Control Protocol) wird zum Übertragen von Daten verwendet. Diese nächsten drei Zeilen umfassen die TCP three-way handshake:

Zeile # 5

Protokoll: Quelle: Ziel: Daten:
TCP 10.0.1.13 64.94.50.88 1939 > http

Die Workstation initiiert die Verbindung zum Webserver (SYN). SYN ist eine Abkürzung für „synchronize.“

Zeile # 6

Protokoll: Quelle: Ziel: Daten:
TCP 64.94.50.88 10.0.1.13 http > 1939

Der Webserver antwortet zurück und zeigt an, dass er zur Übertragung bereit ist (SYN ACK). SYN ACK ist eine Abkürzung für „synchronize acknowledgement.“

Zeile # 7

Protokoll: Quelle: Ziel: Daten:
DNS 10.0.1.13 64.94.50.88 1939 > http

Die Workstation sendet an den Webserver, um anzuzeigen, dass sie mit dem Senden von Datenverkehr beginnt (ACK). Diese Bestätigung zeigt an, dass die TCP-Verbindung hergestellt ist und der Datenverkehr beginnen kann.

Das HTTP-Protokoll

Das Hyper Text Transfer Protocol (HTTP) wird zum Bereitstellen von Webseiten verwendet. Sie können dies an der Adresse der Website in Ihrem Browser erkennen (d. H. http://www.cyberguard.com).

Linie # 8

Protokoll: Quelle: Ziel: Daten:
HTTP 10.0.1.13 64.94.50.88 GET / HTTP/1.1

Der Browser stellt eine Verbindung zum Webserver her.

Linie # 9

Protokoll: Quelle: Ziel: Daten:
HTTP 64.94.50.88 10.0.1.13 HTTP / 1.1 200 IN ORDNUNG

Der Webserver akzeptiert die Verbindung.

Linie # 10

Protokoll: Quelle: Ziel: Daten:
HTTP 64.94.50.88 10.0.1.13 HTTP Fortsetzung

Die HTTP-Fortsetzungszeilen stellen dar, wo der Inhalt der HTML-Seite gesendet wird. Es enthält Text, Links usw.

Zurück zum TCP-Protokoll

Zeile # 11

Protokoll: Quelle: Ziel: Daten:
TCP 10.0.1.13 64.94.50.88 2577 > http Seq = 388864 Ack = 37076821 Gewinnen = 8241 Len=0

Diese Zeile wird tatsächlich viermal wiederholt. Die Workstation bestätigt das letzte Paket.

Zeile # 12 (ERSTE)

Protokoll: Quelle: Ziel: Daten:
TCP 10.0.1.13 64.94.50.88 2577 > http Seq = 388864 Ack = 37077089 Gewinnen = 0 Len=0

Die Workstation sendet einen Reset, wodurch die TCP-Verbindung effektiv unterbrochen wird.

Tcpdump und Ethereal

Es ist wichtig zu beachten, dass der tcpdump je nachdem, wo er in Ihrem Netzwerk ausgeführt wird, unterschiedliche Details enthält. In diesem Beispiel wurde tcpdump auf der internen Schnittstelle der Firewall mit einer direkt angeschlossenen Workstation ausgeführt. Wenn tcpdump verwendet würde, um denselben Datenverkehrsfluss auf der externen Schnittstelle zu überwachen, würde die Quell-IP-Adresse als externe Schnittstelle der Firewall angezeigt, vorausgesetzt, dass DNAT (Dynamic Network Address Translation) vorhanden ist. Um zu beobachten, wie der Proxy-Datenverkehr fließt, ist es sinnvoll, tcpdump sowohl auf der internen als auch auf der externen Schnittstelle auszuführen, da der Proxy als Vermittler zwischen Quelle und Ziel fungiert.

Die Quelle der Tabelle war eine tcpdump-Datei, die über Ethereal angezeigt wurde. Die genaue Syntax war: „tcpdump -vvpni dec1 -s1514 -w /archive2/dec1.dmp-Host 10.0.1.13“. Der Befehl tcpdump verfügt über umfangreiche Optionen zur Aufzeichnung sehr spezifischer Verkehrsflüsse (z. B. Quelle / Ziel, Ports und Boolesche Ausdrücke). Für weitere Informationen geben Sie „man tcpdump“ in die Befehlszeile ein. Die Windows-Version ist Windump (http://windump.polito.it).

Ethereal ist ein gutes Werkzeug, um tcpdump-Dateien anzuzeigen. Es ist frei verfügbar von http://www.ethereal.com.

Einige der in einem tcpdump vorhandenen Ports sind Ihnen möglicherweise nicht bekannt. Die aktuellste Liste der Portnummern finden Sie unter http://www.iana.org/assignments/port-numbers (gemäß RFC 3232).

Schreibe einen Kommentar

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