Labor Paketanalyse Allgemeiner Teil Titel der Übung: Übungsnummer: Übungsplatz: Datum der Übung: Klasse: Schriftführer: Übungsteilnehmer: Paketanalyse IV/2 NET2 28.04.2005 3 BHELI Andreas Antony Andreas Antony Andreas Hager Erich Reim Bernhard Schneider Inhaltsverzeichnis Allgemeiner Teil…………..……………………………………………………………… 1 Inhaltsverzeichnis………………………………………………………………………… 1 1. Paketanalyse…………………………………………………………………………… 2 1.1. Aufgabenstellung zur Paketanalyse………………………………………….. 2 1.2. Messaufbau der Paketanalyse………………………………………………... 2 1.3. Analyse von Paketen………………………………………………………….3 1.3.1. ICMP – Paket………………………………………………………. 3 1.3.2. TCP – Paket………………………………………………………... 4 Tabelle……………………………………………………………………………………. 7 Messprotokoll…………………………………………………………………………….. 9 HTBL – Hollabrunn Seite 1 Andreas Antony 3 BHELI Labor Paketanalyse 1. Paketanalyse: 1.1. Aufgabenstellung zur Paketanalyse: Die Aufgabenstellung zur Paketanalyse ist ein Netzwerk mit 2 PC´s, um miteinander kommunizieren zu können, und einen Hub aufzubauen und mit einem 3. PC die Pakete analysieren mit einer Tabelle, die uns der Übungsleiter gegeben hat. Weiters sollte ein Paket von einem PC zu einem anderen gesendet werden, z.B. ping, telnet. Es wurde deshalb ein Hub verwendet, weil die Daten eines PC´s an alle Ports als Broadcast gesendet werden. Man könnte auch einen Switch verwenden, bei dem man den Port spiegeln kann. Die Paketanalyse (Sniffen, dt. schnüffeln) bedeutet, dass man Pakete über ein LAN mit einem bestimmten Tool analysieren kann. Es dient hauptsächlich zur Fehleranalyse. Es gibt einen Hardware – Sniffer, wobei er eine eigene Netzwerkkarte besitzt und im promiscous – Mode betrieben wird, und einen Software – Sniffer, wo auf einen PC eine bestimmte Software verwendet wird. Wir verwendeten einen Software – Sniffer. 1.2. Messaufbau der Paketanalyse: Um das Netzwerk aufzubauen, verwendeten wir einen Hub aus den 19 Zoll Schränken und verbindeten die PC´s mit Patchkabel miteinander. PC-Name Benutzer IP-Adresse Netzmaske MAC-Adresse Betriebssystem PC 1 PC 2 Sniffer Erich Reim Bernhard Schneider Andreas Hager 192.168.1.1 192.168.1.2 192.168.1.3 255.255.255.0 255.255.255.0 255.255.255.0 00:50:DA:42:05:B9 00:50:DA:42:05:B3 00:50:DA:42:04:B5 Linux Linux Knoppix 3.3 HTBL – Hollabrunn Seite 2 Andreas Antony 3 BHELI Labor Paketanalyse Wir verwendeten ein Klasse C Netzwerk. Damit die PC´s im selben Netzwerk sind, müssen sie die gleiche Netzmaske besitzen. Da die Netzmaske 255.255.255.0 ist, sind 254 PC´s in diesem Netzwerk möglich, das heißt die IP-Adressen 192.168.1.1 – 254. Um diese Einstellung zu konfigurieren, muss man unter Linux den Root Shell starten und diesen Befehl (z.B. für PC 1) eingeben: ifconfig eth0 inet 192.168.1.1 netmask 255.255.255.0 Beim Sniffer wurde die Software ethereal verwendet, die beim Knoppix 3.3 CD dabei ist. 1.3. Analyse von Paketen: Nachdem das Netzwerk mit dem Hub fertig aufgebaut ist, kann man Pakete mit dem Sniffer analysieren, die von PC 1 zu PC 2 gesendet werden. Dazu muss man das Programm „ethereal“ auf der Knoppix CD starten. Im Programm muss man auf „Capture“ klicken und als Interface eth0 einstellen und dann auf „Start“ zum Beginnen und „Stop“ zum Aufhören drücken. Das Programm zeigt die Informationen (Number, Time, Source, Destination, Protocol und Info) in tabellarischer Form an. 1.3.1. ICMP – Paket: Das erste Paket, das wir untersuchten, ist ein ICMP – Paket. ICMP (Internet Control Message Protocol) dient zur Generierung und zum Transport von Fehlerund Kontrollmeldungen in TCP/IP Netzen. Solch ein Paket kann man senden, wenn man den ping – Befehl ausführt. Der Benutzer von PC 1 pingt den PC 2. Das ist im Root Shell folgender Befehl: ping 192.168.1.2 Diesen Befehl lässt man solange laufen, bis der Benutzer vom Sniffer gestartet und gestoppt hat. Dann kann man folgende Informationen herauslesen: Source: 192.168.1.1 Destination: 192.168.1.2 Protocol: ICMP Info: Echo (ping) reply HTBL – Hollabrunn Seite 3 Andreas Antony 3 BHELI Labor Paketanalyse Das Paket: Die Pakete sind im hexadezimalen Code. 00 50 da 42 05 b3 00 50 da 42 05 b9 08 00 45 00 00 54 53 cd 00 00 40 01 a3 88 c0 a8 01 01 c0 a8 01 02 00 00 10 8d a3 11 00 06 28 e3 70 42 bc 32 0c 00 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 Analyse: 00 50 da 42 05 b3 00 50 da 42 05 b9 08 00 Destination Address (MAC – Adresse von PC 2) 6 Byte Source Address (MAC – Adresse von PC 1) 6 Byte Length 2 Byte Der Rest des Pakets sind Daten und die letzten 4 Byte wären Controlbytes (CRC). Die Controlbytes sind mit dem Sniffer nicht zu sehen, da sie von der Netzwerkkarte abgeschnitten wurden. 1.3.2. TCP - Paket: Als nächstes Paket sendeten wir ein TCP – Paket, indem wir den Befehl telnet verwendeten. TCP (Transmission Control Protocol) teilt die zu übertragenden Daten an der Quelle in einzelne nummerierte Segmente ein, deren Größe zwischen Quelle und Ziel vereinbart wird und maximal 15kByte beträgt. Das Telnet Protokoll ermöglicht das Einloggen eines Clients über TCP/IP auf einen entfernten Rechner (Server) auf dem TCP – Port 23. Dazu musste der Benutzer von PC 1 folgenden Befehl im Root Shell eingeben, während man im ethereal Capture gestartet und nach dem Eingeben des Befehls gestoppt hat: telnet 192.168.1.2 HTBL – Hollabrunn Seite 4 Andreas Antony 3 BHELI Labor Paketanalyse Informationen vom Programm: Source: Destination: Protocol: 192.168.1.1 192.168.1.2 TCP Im Programm suchten wir uns die Zeile, wo bei Protocol TCP steht und wählten diese aus und analysierten diese: 00 50 da 42 05 b3 00 50 da 42 05 b9 08 00 45 10 00 3c 62 8e 40 00 40 06 54 ca c0 a8 01 01 c0 a8 01 02 04 03 00 17 2f 3b dd 78 00 00 00 00 a0 02 16 d0 dc e9 00 00 02 04 05 b4 04 02 08 0a 00 33 bf fb 00 00 00 00 01 03 03 02 Am Anfang des Paketes steht der Ethernet Header mit der Destination und Source Address und Type, dann steht der IP Header und danach der TCP Header: Ethernet Header: 00 50 da 42 05 b3 00 50 da 42 05 b9 08 00 Destination Address (MAC – Adresse von PC 2) 6 Byte Source Address (MAC – Adresse von PC 1) 6 Byte Type 2 Byte IP – Header: 4 5 10 00 3c 62 8e 40 00 Version 4 bit Header length 4 bit Type of service TOS 8 bit Total length (in Bytes) 16 bit Identification 16 bit 3 bit Flags + 13 bit Fragment Offset Binär umrechen: 010 Flags 0 0000 0000 0000 Fragment Offset 40 Time to live (TTL) 8 bit 06 Protocol 8 bit 54 ca Header Checksum 16 bit c0 a8 01 01 Source IP – Address 32 bit c0 a8 01 02 Destination IP – Address 32 bit HTBL – Hollabrunn Seite 5 Andreas Antony 3 BHELI Labor Paketanalyse Umrechnung der IP – Adresse: c0 a8 01 01 = 12*16.10*16 + 8.1.1 = 192.168.1.1 …IP – Adresse von der Quelle, d.h. von PC 1 (192.168.1.1) c0 a8 01 02 = 12*16.10*16 + 8.1.2 = 192.168.1.2 …IP – Adresse vom Empfänger, d.h. von PC 2 (192.168.1.2) TCP – Header: 04 03 00 17 2f 3b dd 78 00 00 00 00 a 0 02 0000 00 0 0 0 0 1 0 16 d0 dc e9 00 00 Source Port Number 16 bit Destination Port Number 16 bit Sequence Number 32 bit Acknowledgment Number 32 bit Header Length 4 bit Reserved 6 bit + 6bit Binär umechnen: Reserved 6 bit URG ACK PSH RST SYN FIN Window Size 16 bit TCP Checksum 16 bit Urgent Pointer 16 bit Der Rest des Pakets sind Daten und die letzten 4 Byte wären Controlbytes (CRC). Die Controlbytes sind mit dem Sniffer nicht zu sehen, da sie von der Netzwerkkarte abgeschnitten wurden. HTBL – Hollabrunn Seite 6 Andreas Antony 3 BHELI