Articles

Weberblog.net

Ich arbeite derzeit an einem Netzwerk & Sicherheitstraining, Modul „OSI Layer 4 – Transport“. Daher habe ich eine sehr einfache Demo einer TCP- und UDP-Verbindung erstellt, um das übliche „SYN, SYN-ACK, ACK“ für TCP zu sehen, während keines für UDP, „Follow TCP / UDP Stream“ in Wireshark usw. Ich wollte zeigen, dass es gar nicht so kompliziert ist. Jede gängige Anwendung / jeder gängige Dienst verwendet diese Datenströme einfach, um Daten, auch Bytes genannt, zwischen einem Client und einem Server zu übertragen.

Das ist: Hier sind die Linux-Befehle für Basic Lab, ein herunterladbares pcap und wie immer einige Wireshark-Screenshots:

TCP

Abhören mit Netcat auf dem Server am Port 1337:

1
netzkatze -6 -l 1337

Überprüfen des Abhörports:

1
netstat -tulpen6

In meinem Fall sieht das so aus:

1
2
3
4
5
6
7
8
9
10
11

weberjoh @ nb15-lx: ~ $ netstat -tulpen6
(Nicht alle Prozesse konnten identifiziert werden, nicht-eigene Prozessinformationen
werden nicht angezeigt, Sie müssten root sein, um alles zu sehen.)
Aktive Internet verbindungen (nur server)
Proto Recv-Q Senden-Q Lokale Adresse Ausländische Adresse Zustand Benutzer Inode PID/Programm name
tcp6 0 0 :::22 :::* HÖREN 0 21160 –
tcp6 0 0 :::1337 :::* HÖREN 1000 1490116 20122/ netcat
udp6 0 0 fe80 :: d6be: d9ff:fe4:123 :::* 0 22715 –
udp6 0 0 2001:470:765b::b15::123 :::* 0 22713 –
udp6 0 0 ::1:123 :::* 0 22711 –
udp6 0 0 :::123 :::* 0 22699 –

Jetzt Verbindung vom Client zum Server mit Telnet:

1
telnet <IP> <Anschluss>

In meinem Fall zusammen mit einigen Textnachrichten in beide Richtungen:

1
2
3
4
5
6
7
8
9
10
11
12
13

[email protected]:~$ telnet 2001:470:765b::b15:22 1337
Versuchen 2001:470:765b::b15:22…
Verbunden mit 2001:470:765b::b15:22.
Escape-Zeichen ist ‚^]‘.
Hallo
Hallo
Grüße vom Client an den Server!
Danke. Grüße zurück vom Server an den Client.
Prost
Auf Wiedersehen
^]
telnet> beenden
Verbindung geschlossen.

Wireshark zeigt die TCP-Flags in der Spalte Info für Verbindungsaufbau und -beendigung an. Schauen Sie sich die Bestätigungen direkt nach jeder gesendeten Nachricht an, unabhängig davon, in welche Richtung. Schließlich zeigt ein „Follow TCP Stream“ die Rohdaten, gefärbt durch die Art und Weise, wie sie übertragen wurden:

Grundlegendes TCP in Wireshark.
Der TCP-Stream zeigt Rohdaten an.

UDP

Grundsätzlich das gleiche mit UDP. Abhören des Servers am Port 2311:

1
netzkatze -6 -l -u 2311

Der Proto-Typ „udp6“ wird mit netstat angezeigt:

1
2
3
4
5
6
7
8
9
10
11

weberjoh @ nb15-lx: ~ $ netstat -tulpen6
(Nicht alle Prozesse konnten identifiziert werden, nicht-eigene Prozessinformationen
werden nicht angezeigt, Sie müssten root sein, um alles zu sehen.)
Aktive Internet verbindungen (nur server)
Proto Recv-Q Senden-Q Lokale Adresse Ausländische Adresse Zustand Benutzer Inode PID/Programm name
tcp6 0 0 :::22 :::* HÖREN 0 21160 –
udp6 0 0 fe80:: d6be:d9ff:fe4:123 :::* 0 22715 –
udp6 0 0 2001:470:765b::b15::123 :::* 0 22713 –
udp6 0 0 ::1:123 :::* 0 22711 –
udp6 0 0 :::123 :::* 0 22699 –
udp6 0 0 :::2311 :::* 1000 1490184 20131/ netcat

Herstellen einer Verbindung vom Client über Netcat (und nicht über Telnet, das nicht UDP-fähig ist):

1
netcat -u <ip> <Anschluss>

Jetzt meine Demo, wieder mit einigen Textnachrichten und Umlauten:

1
2
3
4
5
6
7
8
9
10

[email protected]:~$ netcat -u 2001:470:765b::b15:22 2311
Hi over UDP
Guten Tag auch
Oh, you speak German
Kann ich auch
Sehr schön. Sogar mit Umlauten.
😉
Yup. Ciao.
Tschö
^C

Wireshark’s glasses. Kein Verbindungsaufbau oder Beendigung. Keine ACKs. Nur die Rohdaten in beide Richtungen. Ein einzelnes UDP-Paket pro gesendeter Textnachricht. Ganz einfach. „Follow UDP Stream“ funktioniert auch:

Grundlegender verbindungsloser UDP-Datenstrom.
Folgen UDP Stream zeigt rohdaten.

pcap

Schreibe einen Kommentar

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