ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (ΤΕΙ) ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ. Προσομοιώσεις δικτύων με τον Wireshark ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ



Σχετικά έγγραφα
Εργαστήριο Wireshark: DNS

Δίκτυα Υπολογιστών Ενότητα 10: Ethernet και ARP

Δίκτυα Υπολογιστών Ενότητα 3: Domain Name System - DNS

Εργαστήριο «Δίκτυα Υπολογιστών Ι»

Δίκτυα Υπολογιστών Ενότητα 1: Αναλυτής Πρωτοκόλλων Wireshark

α) η καταγραφή και η σύλληψη της δικτυακής κίνησης (capture) και β) η ανάλυση της δικτυακής κίνησης.

Δίκτυα Υπολογιστών Ενότητα 9: Dynamic Host Configuration Protocol- DHCP

ΗΜΥ Εργαστηριακή Άσκηση 2

Δίκτυα Υπολογιστών Ενότητα 7: Internet Control Message Protocol - ICMP

Εργαστήριο Wireshark: Εισαγωγή

Ανάλυση και έλεγχος δικτύου με χρήση του εργαλείου Wireshark

Εξοικείωση με τις εντολές ipconfig και ping

Εργαστήριο Ethereal: ICMP

Εργαστήριο Ethereal: IP

Εργαστήριο Wireshark: HTTP

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

Εργαστήριο Wireshark: TCP

Επίπεδο δικτύου IP Forwading κτλ

Δίκτυα Ηλεκτρονικών Υπολογιστών

Δίκτυα Υπολογιστών Ενότητα 6: Secure Sockets Layer - SSL

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

Εργαστήριο Ethereal: TCP

ΔΙΚΤΥΑ ΔΕΔΟΜΕΝΩΝ Ι.3. Τμ. Μηχανικών Πληροφορικής, ΤΕΙ Πελοποννήσου. Β. Παναγιωτίδη Φυσικός Μηχανικός ΕΜΠ

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Δίκτυα Υπολογιστών Ενότητα 5: User Datagram Protocol - UDP

Πρωτόκολλα Διαδικτύου (ΨΣ-326 DS151)

ECE Operating Systems and Networking Laboratory

Πρωτόκολλα Διαδικτύου (ΨΣ-326 DS151)

3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP)

Δίκτυα Υπολογιστών Ενότητα 8: Internet Protocol - IP

Δίκτυα Υπολογιστών Ενότητα 4: Transmission Control Protocol - TCP

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

Εργαστηριακή Άσκηση 5 Πρωτόκολλο IP

Εργαστηριακή Άσκηση 2 Επικοινωνία στο τοπικό δίκτυο (πλαίσιο Ethernet και πρωτόκολλο ARP)

Διαχείριση Δικτύων Εργαστήριο (Διαφάνειες)

Δίκτυα Η/Υ ςτην Επιχείρηςη

Βασικά στοιχεία από τη Θεωρία

Διαμόρφωση και έλεγχος του δικτύου

Εργαστήριο «Δίκτυα Υπολογιστών Ι»

Πρόσκληση 10: Προηγμένες Τηλεματικές Υπηρεσίες Τ.Ε.Ι. Ηπείρου Δίκτυο Τ.Ε.Ι. Ηπείρου ΙΙ

Δίκτυα Η/Υ στην Επιχείρηση

Απομακρυσμένη Πρόσβαση και Εντολές Ελέγχου και Υποστήριξης

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Ανδρέας Παπαζώης. Τμ. Διοίκησης Επιχειρήσεων

7.2.2 Σχέση OSI και TCP/IP

Ethernet Ethernet ΙΕΕΕ CSMA/CD

Ανδρέας Παπαζώης. Τμ. Διοίκησης Επιχειρήσεων

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

Εισαγωγή στο πως λειτουργεί το διαδίκτυο

Πρωτόκολλα Διαδικτύου

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Δίκτυα Υπολογιστών Ι

Εγχειρίδιο Συντονιστή Τηλεδιασκέψεων Υπηρεσίας e:presence

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό


PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet.

Διαχείριση Δικτύων Εργαστήριο (Διαφάνειες)

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Σύνδεση σε τοπικό δίκτυο LAN μέσω πρίζας δικτύου

Εργαστηριακή Άσκηση 7 Πρωτόκολλα TCP και UDP

Network Address Translation (NAT)

Άσκηση 2 η Πρωτόκολλο επικοινωνίας TCP/IP

1. Τρόποι πρόσβασης στο σας

6.2 Υπηρεσίες Διαδικτύου

Πρωτόκολλα Διαδικτύου. Άγγελος Ρούσκας Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Εργαστηριακή Άσκηση 2 Επικοινωνία στο τοπικό δίκτυο (πλαίσιο Ethernet και πρωτόκολλο ARP)

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

ΣΥΝ ΕΣΗ Η/Υ ΣΤΟ LAN TOY ΙΟΝΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ WINXP(ΕΛΛΗΝΙΚΑ)

ΕΝΤΑΞΗ ΣΤΑΘΜΟΥ ΕΡΓΑΣΙΑΣ ΣΕ DOMAIN

Δίκτυα Υπολογιστών Ενότητα 2: HTTP HyperText Transfer Protocol

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

Εργαστηριακή Άσκηση 6 Πρωτόκολλα ARP και ICMP

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR TVT

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

Αντιγραφή με χρήση της γυάλινης επιφάνειας σάρωσης

Οδηγίες Ρύθμισης ΖΤΕ ΖΧΗΝ Η108Ν

Διαδικτυακές Υπηρεσίες

Εργαστήριο Δικτύων Υπολογιστών

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

Πώς να ανοίξω το τερματικό στους υπολογιστές της σχολής

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΉΜΙΟ ΚYΠΡΟΥ

Εγχειρίδιο Χρήστη - Μαθητή

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC

Εργαστηριακή Άσκηση 10 DNS

Εισαγωγή στο TCP/IP. Π. Γαλάτης

Εργαστηριακή Άσκηση 11 DNS

7.9.2 Άμεση δρομολόγηση 1

Αν παρ όλα αυτά αντιμετωπίζετε πρόβλημα, επικοινωνήστε με το Κέντρο Δικτύου της ΑΣΠΑΙΤΕ Τηλ , , ,

Οδηγίες Χρήσης της MySQL

7.7 Πρωτόκολλο ARP. 1. Το πρωτόκολλο ARP μετατρέπει τις διευθύνσεις IP στις αντίστοιχες φυσικές. Σ Λ

ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΥΠΟΛΟΓΙΣΤΙΚΗΣ ΥΠΟΔΟΜΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟ ΚΕΝΤΡΟ

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος

ΘΕΜΑ ΠΤΥΧΙΑΚΗΣ : ΜΗΧΑΝΙΣΜΟΙ ΣΥΛΛΟΓΗΣ ΣΤΟΙΧΕΙΩΝ ΣΤΟ ΔΙΑΔΥΚΤΙΟ (COOKIES)

ΕΓΧΕΙΡΙ ΙΟ ΡΥΘΜΙΣΕΩΝ ΓΙΑ ΤΗΝ ΠΡΟΣΒΑΣΗ ΣΕ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΠΟΡΟΥΣ ΙΚΤΥΟ ΒΙΒΛΙΟΘΗΚΩΝ ΤΟΥ ΙΝΣΤΙΤΟΥΤΟΥ ΘΕΡΒΑΝΤΕΣ

7.2 Τεχνολογία TCP/IP

Transcript:

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (ΤΕΙ) ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΡΑΡΤΗΜΑ ΚΑΣΤΟΡΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ Προσομοιώσεις δικτύων με τον Wireshark ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ του Κωνσταντίνου Πύρζα (ΑΕΜ: 353) Επιβλέπων : Άγγελος Μιχάλας Επίκουρος Καθηγητής Καστοριά Οκτώβριος 2011

Η παρούσα σελίδα σκοπίμως παραμένει λευκή 1

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (ΤΕΙ) ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΡΑΡΤΗΜΑ ΚΑΣΤΟΡΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ Προσομοιώσεις δικτύων με τον Wireshark ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Του Κωνσταντίνου Πύρζα (ΑΕΜ: 353 ) Επιβλέπων : Άγγελος Μιχάλας Επίκουρος Καθηγητής Εγκρίθηκε από την τριμελή εξεταστική επιτροπή την 8 / 11 / 2011. ΜΙΧΑΛΑΣ Άγγελος ΖΗΚΟΣ Γεώργιος ΒΕΡΓΑΔΟΣ Δημήτριος Καστοριά Οκτώβριος 2011 2

Copyright 2011 Κωνσταντίνος Πύρζας Απαγορεύεται η αντιγραφή, αποθήκευση και διανομή της παρούσας εργασίας, εξ ολοκλήρου ή τμήματος αυτής, για εμπορικό σκοπό. Επιτρέπεται η ανατύπωση, αποθήκευση και διανομή για σκοπό μη κερδοσκοπικό, εκπαιδευτικής ή ερευνητικής φύσης, υπό την προϋπόθεση να αναφέρεται η πηγή προέλευσης και να διατηρείται το παρόν μήνυμα Οι απόψεις και τα συμπεράσματα που περιέχονται σε αυτό το έγγραφο εκφράζουν αποκλειστικά τον συγγραφέα και δεν αντιπροσωπεύουν τις επίσημες θέσεις του ΤΕΙ Δυτικής Μακεδονίας 3

ABSTRACT This report constitutes a detailed account/outline of the objectives, methodology, and results of the research submitted to the Department of Informatics and Computer Technology, Kastoria Campus, Technological Educational Institute of Western Macedonia, in partial fulfillment of the requirements for the degree Informatics and Computer Technology. Τhis thesis aims at executing, presenting, analyzing and extending a series of experiments on network applications alongside with the observation of the exchanging messages between the network protocols with the aid of the Wireshark packet sniffer. The experiments, developed by Pr. James F. Kurose and Pr. Keith W. Ross of the Massachusetts Institute of Technology, attempt to shed light upon the way several protocols interact with each other in order to exchange information on the Internet. The report is divided in two parts. The first part of the report is an introduction to the use of Wireshark, while in the second part the researcher presents the results that have arisen through the experiments. 4

ΠΕΡΙΛΗΨΗ Η αναφορά που ακολουθεί αποτελεί λεπτομερή καταγραφή των στόχων, της μεθοδολογίας και των αποτελεσμάτων της πτυχιακής εργασίας εκ μέρους του συντάκτη και υποβάλλεται στο Τμήμα Πληροφορικής και Τεχνολογίας Υπολογιστών του Παραρτήματος Καστοριάς του Α.Τ.Ε.Ι. Δυτικής Μακεδονίας στα πλαίσια ικανοποίησης μέρους των υποχρεώσεων του φοιτητή για την απόκτηση του τίτλου σπουδών του τμήματος. Το θεματικό αντικείμενο της παρούσας πτυχιακής εργασίας είναι η εκτέλεση, παρουσίαση, ανάλυση και επέκταση μίας σειράς πειραμάτων που αναπτύχθηκαν από τους James F. Kurose και Keith W. Ross, καθηγητών στο Ινστιτούτο Τεχνολογίας της Μασαχουσέτης, που σκοπό έχουν τη καταγραφή των μηνυμάτων, τα οποία τα πρωτόκολλα Δικτύου ανταλλάσσουν με την βοήθεια του εργαλείου καταγραφής πακέτων Wireshark. Απώτερος σκοπός της αναφοράς είναι η εμβάθυνση από πλευράς του αναγνώστη σε μία σειρά πρωτοκόλλων Δικτύου που χρησιμοποιούνται για την αποστολή και τη λήψη πληροφοριών μέσα στο Διαδίκτυο. Η ύλη της αναφοράς αυτής είναι χωρισμένη σε δύο μέρη. Στο πρώτο μέρος παρουσιάζεται το λογισμικό που θα χρησιμοποιηθεί για την καταγραφή των μηνυμάτων, δηλαδή το Wireshark, και στο δεύτερο μέρος θα παρουσιαστούν υπό μορφή εργαστηρίων οι καταγραφές που πραγματοποιήθηκαν σε αυτή την αναφορά. 5

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ABSTRACT 4 ΠΕΡΙΛΗΨΗ 5 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 6 ΠΙΝΑΚΑΣ ΕΙΚΟΝΩΝ 8 ΠΙΝΑΚΑΣ ΠΙΝΑΚΩΝ 11 1.ΕΙΣΑΓΩΓΗ 12 1.1 Στόχοι 12 1.2 Μεθοδολογία 13 1.3 Δομή της Πτυχιακής Εργασίας 13 2.. ΕΙΣΑΓΩΓΗ ΣΤΟ WIRESHARK 14 2.1 Πρωτόκολλα Δικτύου 14 2.2 Γενικά για το Wireshark 15 2.3 Η γραφική διεπαφή χρήστη (GUI) του Wireshark 17 2.4 Μία δοκιμή με το Wireshark 19 3. ΕΡΓΑΣΤΗΡΙΑ WIRESHARK 22 3.1 Εργαστήριο Wireshark: HTTP 23 3.1.1 H βασική αλληλεπίδραση HTTP GET/response 23 3.1.2 H HTTP GET/response αλληλεπίδραση υπό συνθήκη 26 3.1.3 Ανακτώντας Μεγάλα Έγγραφα 31 3.1.4 Έγγραφα HTML με Ενσωματωμένα Αντικείμενα 33 3.1.5 Επικύρωση HTTP 35 3.1.6 Κρυπτογραφημένη σύνδεση 37 3.2 Εργαστήριο Wireshark: DNS 39 3.2.1 nslookup 39 3.2.2 ipconfig 42 3.2.3 Ανιχνεύοντας το DNS με το Wireshark 44 3.2.4 Τα μηνύματα DNS που ανταλλάσσονται μεταξύ υπολογιστή και δρομολογητή σε ένα τοπικό δίκτυο 53 3.3 Εργαστήριο Wireshark: TCP 55 3.3.1 Καταγράφοντας μία μαζική μεταφορά μέσω TCP από τον υπολογιστή σας σε ένα απομακρυσμένο υπολογιστή 55 3.3.2 Μία πρώτη ματιά στην ανίχνευση 57 3.3.3 Τα βασικά του TCP 60 3.3.4 O έλεγχος συμφόρησης του TCP στην πράξη 66 3.3.5 Επισύναψη αρχείου σε ένα email server 67 3.4 Εργαστήριο Wireshark: UDP 71 3.4.1 Το πείραμα 71 3.4.2 UDP Streaming 73 3.5 Εργαστήριο Wireshark: SSL 78 3.5.1 Καταγράφοντας πακέτα σε μία συνδιάλεξη SSL 79 3.5.2 Μία ματιά στην καταγεγραμμένη ανίχνευση 79 3.5.3 Μετάβαση σε ιστότοπο προστατευμένο με κωδικό εισόδου, ο οποίος κάνει χρήση ενός δικτύου διανομής περιεχομένου (CDN) 84 3.6 Εργαστήριο Wireshark: ICMP 86 3.6.1 ICMP και Ping 86 3.6.2 ICMP και Traceroute 89 6

3.6.3 Traceroute και δίκτυο διανομής περιεχομένου (CDN) 92 3.7 Εργαστήριο Wireshark: IP 96 3.7.1 Καταγράφοντας πακέτα κατά την εκτέλεση της Traceroute 96 3.7.2 Μία ματιά στην καταγραφή 98 3.7.3 Κατακερματισμός 101 3.7.4 Το εργαλείο FreeIP Tools 104 3.8 Εργαστήριο Wireshark: Ethernet και ARP 107 3.8.1 Καταγραφή και ανάλυση πλαισίων Ethernet 107 3.8.2 Το πρωτόκολλο ARP 111 3.8.3 Τα πακέτα ARP κατά την ασύρματη σύνδεση ενός laptop σε ένα τοπικό δίκτυο 114 3.9 Εργαστήριο Wireshark: DHCP 116 3.9.1 Πείραμα DHCP 116 3.9.2 Τα DHCP πακέτα κατά την ασύρματη σύνδεση ενός laptop σε ένα τοπικό δίκτυο 124 3.10 Εργαστήριο Wireshark: 802.11 126 3.10.1 Ξεκινώντας 126 3.10.2 Πλαίσια του σταθμού μετάδοσης (Beacon frames) 127 3.10.3 Μεταφορά δεδομένων 128 3.10.4 Συσχέτιση/Αποσυσχέτιση 130 3.10.5 Άλλοι τύποι πλαισίων 133 3.10.6 AirPcap: Η λύση για την καταγραφή των πακέτων 802.11 σε περιβάλλον Windows. 134 4. ΕΠΙΛΟΓΟΣ 135 ΒΙΒΛΙΟΓΡΑΦΙΑ 136 7

ΠΙΝΑΚΑΣ ΕΙΚΟΝΩΝ Εικόνα 1 Δομή ενός εργαλείου εντοπισμού πακέτων, όπως το Wireshark. 15 Εικόνα 2 Το γραφικό περιβάλλον του Wireshark. 17 Εικόνα 3 Οι επιλογές καταγραφής του Wireshark 19 Εικόνα 4 Η καταγραφή όπως φαίνεται στo κύριο παράθυρο του Wireshark 20 Εικόνα 5 Το παράθυρο του Wireshark μετά την εφαρμογή του φίλτρου. 21 Εικόνα 6 Το παράθυρο του Wireshark μετά την καταγραφή για το μήνυμα GET. 24 Εικόνα 7 Η καταγραφή για το μήνυμα απάντησης HTTP OK. 25 Εικόνα 8 Το παράθυρο του Wireshark για το πρώτο μήνυμα HTTP GET. 27 Εικόνα 9 Το παράθυρο του Wireshark με το πρώτο HTTP μήνυμα απάντησης. 28 Εικόνα 10 Το παράθυρο του Wireshark για το δεύτερο HTTP GET μήνυμα. 29 Εικόνα 11 Το παράθυρο του Wireshark με το δεύτερο HTTP μήνυμα απάντησης. 30 Εικόνα 12 Το παράθυρο του Wireshark μετά την ανάκτηση ενός μεγάλου εγγράφου. 32 Εικόνα 13 Το παράθυρο του Wireshark στην ανάκτηση εγγράφων με ενσωματωμένα αντικείμενα. 34 Εικόνα 14 Το παράθυρο του Wireshark στην HTTP επικύρωση. 36 Εικόνα 15 Το μήνυμα HTTP OK 38 Εικόνα 16 Γνωριμία με το nslookup 39 Εικόνα 17 Το nslookup για το www.mit.com 41 Εικόνα 18 Καθορισμός του server εγκυρότητας του Πανεπιστημίου Ιωαννίνων 41 Εικόνα 19 Το ερώτημα για τους servers του ταχυδρομείου Yahoo! 42 Εικόνα 20 Το αποτέλεσμα της εντολής ipconfig. 43 Εικόνα 21 Το DNS μήνυμα ερώτησης. 45 Εικόνα 22 Το DNS μήνυμα απάντησης. 46 Εικόνα 23 Το DNS μήνυμα ερώτησης. 47 Εικόνα 24 Το DNS μήνυμα απάντησης. 48 Εικόνα 25 To DNS μήνυμα ερώτησης. 49 Εικόνα 26 Το DNS μήνυμα απάντησης. 50 Εικόνα 27 Το DNS μήνυμα ερώτησης. 51 Εικόνα 28 Το DNS μήνυμα απάντησης. 52 Εικόνα 29 Η καταγραφή των πακέτων που ανταλλάσσονται μεταξύ υπολογιστή και δρομολογητή 53 Εικόνα 30 Η σελίδα του απομακρυσμένου διακομιστή, όπου θα ανεβεί το αρχείο. 56 Εικόνα 31 Το παράθυρο του Wireshark για την μεταφορά του αρχείου. 57 Εικόνα 32 Το παράθυρο του Wireshark μετά την εφαρμογή του φίλτρου tcp. 58 Εικόνα 33 Το παράθυρο του Wireshark μετά την εφαρμογή του φίλτρου tcp, χωρίς τα HTTP μηνύματα. 59 Εικόνα 34 Το τμήμα TCP SYN που στάλθηκε από τον υπολογιστή στον διακομιστή gaia.cs.umass.edu. 60 Εικόνα 35 Το τμήμα TCP SYNACK που στάλθηκε από τον διακομιστή gaia.cs.umass.edu. 61 Εικόνα 36 Το κομμάτι TCP που περιέχει την εντολή HTTP POST. 62 Εικόνα 37 Τα τμήματα TCP που χρησιμοποιούνται για τον υπολογισμό του RTT. 63 Εικόνα 38 Το γράφημα για τα RTT των τμημάτων TCP που στάλθηκαν από τον υπολογιστή. 64 Εικόνα 39 Το πρώτο μήνυμα ACK που στέλνεται από τον διακομιστή 65 Εικόνα 40 Η γραφική παράσταση Stevens. 66 8

Εικόνα 41 Τα πακέτα TCP που στάλθηκαν από τον υπολογιστή στο Yahoo! 68 Εικόνα 42 Το γράφημα με τους χρόνους RTT 69 Εικόνα 43 Το γράφημα Stevens 70 Εικόνα 44 Η καταγραφή του Wireshark μετά την εκτέλεση της εντολής nslookup. 72 Εικόνα 45 To UDP μήνυμα που στάλθηκε από τον απομακρυσμένο διακομιστή στον υπολογιστή του πειράματος. 73 Εικόνα 46 Ο αναπαραγωγός πολυμέσων VLC 74 Εικόνα 47 Το ανεπτυγμένο μενού επιλογών Media 74 Εικόνα 48 Η καρτέλα Αρχείο 75 Εικόνα 49 Η καρτέλα Destinations 76 Εικόνα 50 Η καρτέλα Network 77 Εικόνα 51 Τα πακέτα MPEG που μεταφέρονται μέσω UDP 77 Εικόνα 52 Παράδειγμα ανίχνευσης μηνυμάτων SSL. 78 Εικόνα 53 Διάγραμμα χρόνου με τις καταγραφές SSL μεταξύ πελάτη-διακομιστή. 80 Εικόνα 54 Το SSL μήνυμα Client Hello. 81 Εικόνα 55Το SSL μήνυμα Server Hello. 82 Εικόνα 56 Οι καταγραφές Client Key Exchange, Change Cipher Spec και Encrypted Handshake Message. 83 Εικόνα 57 Το παράθυρο του Wireshark μετά την εφαρμογή του φίλτρου ssl 85 Εικόνα 58 Το παράθυρο της Γραμμής Εντολών μετά την εισαγωγή της εντολής ping 87 Εικόνα 59 Το ICMP μήνυμα ερώτησης με εκτεταμένες τις πληροφορίες για τα IP και ICMP. 88 Εικόνα 60 Το ICMP μήνυμα απάντησης. 89 Εικόνα 61 Η γραμμή εντολών μετά την εκτέλεση της εντολής tracert. 90 Εικόνα 62 Το παράθυρο του Wireshark με τα ICMP πεδία του πακέτου λάθους εκτεταμένα. 91 Εικόνα 63 Το ICMP πακέτο αντήχησης. 92 Εικόνα 64 Η εκτέλεση της εντολής tracert για το www.nasa.gov 93 Εικόνα 65 Τα ICMP μηνύματα από την εκτέλεση της tracert για το www.nasa.gov 94 Εικόνα 66 Η εκτέλεση της εντολής tracert για το www.mit.edu 95 Εικόνα 67 Τα ICMP μηνύματα από την εκτέλεση της tracert για το www.mit.edu 95 Εικόνα 68 Το παράθυρο του pingplotter μετά την ανίχνευση. 97 Εικόνα 69 Το παράθυρο του Wireshark με τα ICMP πακέτα. 98 Εικόνα 70 Το παράθυρο του Wireshark μετά την ταξινόμηση με βάση τη διεύθυνση ΙΡ της πηγής. 100 Εικόνα 71 Τα μηνύματα απάντησης ICMP TTL-exceeded. 101 Εικόνα 72 Το πρώτο κομμάτι του κατακερματισμένου μηνύματος (Packet size=2000). 102 Εικόνα 73 Το δεύτερο κομμάτι του κατακερματισμένου μηνύματος (Packet size=2000) 103 Εικόνα 74 Το πρώτο κομμάτι του κατακερματισμένου μηνύματος (Packet size=3500). 104 Εικόνα 75 Το γραφικό περιβάλλον του FreeIP Tools 105 Εικόνα 76 Τα πακέτα ICMP που στάλθηκαν με την χρήση του FreeIP Tools 106 Εικόνα 77 Το αρχικό μήνυμα ΗΤΤΡ που στάλθηκε από τον υπολογιστή. 108 Εικόνα 78 Το αρχικό μήνυμα HTTP, αφού αφαιρέθηκε το πρωτόκολλο ΙΡ από τα επιλεγμένα πρωτόκολλα. 109 Εικόνα 79 Το μήνυμα απάντησης HTTP, αφού αφαιρέθηκε το πρωτόκολλο ΙΡ από τα επιλεγμένα πρωτόκολλα. 110 Εικόνα 80 Τα περιεχόμενα της λανθάνουσας μνήμης. 111 Εικόνα 81Το ARP μήνυμα ερώτησης. 113 Εικόνα 82 Το ARP μήνυμα απάντησης. 114 Εικόνα 83 Το παράθυρο του Wireshark μετά την εφαρμογή του φίλτρου arp 115 9

Εικόνα 84 Γραμμή εντολών των Windows με τις εντολές που εισάγετε. 118 Εικόνα 85 To παράθυρο Wireshark για το πακέτο DHCP Discover 119 Εικόνα 86 Η γραφική ανάλυση για τα πακέτα DHCP. 120 Εικόνα 87 To παράθυρο Wireshark για το πακέτο DHCP Request. 121 Εικόνα 88 To παράθυρο Wireshark για το πακέτο DHCP Offer. 122 Εικόνα 89 To παράθυρο Wireshark για το πακέτο DHCP Ack. 123 Εικόνα 90 To παράθυρο Wireshark για το πακέτο ARP request. 124 Εικόνα 91 Το παράθυρο του Wireshark μετά την εφαρμογή του φίλτρου bootp 125 Εικόνα 92 Το παράθυρο του Wireshark αφού ανοίξει το αρχείο Wireshark_802_11.pcap127 Εικόνα 93 Το πλαίσιο 802.11 που περιέχει το κομμάτι SYN TCP. 129 Εικόνα 94 Το πλαίσιο 802.11 που περιέχει το κομμάτι SYNACK. 130 Εικόνα 95 Οι καταγραφές μετά το t=49. 131 Εικόνα 96 Τα AUTHENTICATION πλαίσια που στάλθηκαν από τον host στο ΑΡ και αντίστροφα. 132 Εικόνα 97 Τα πλαίσια PROBE REQUEST και PROBE RESPONSE. 133 Εικόνα 98 Οι αντάπτορες AirPcap 134 10

ΠΙΝΑΚΑΣ ΠΙΝΑΚΩΝ Πίνακας 1 Συγκεντρωτικά δεδομένα για τα 6 επιλεγμένα τμήματα TCP. 64 Πίνακας 2 Πίνακας συγκεντρωτικών στοιχείων των καταγραφών SSL. 79 Πίνακας 3 Προδιαγραφές της οικογένειας AirPcap 134 11

1 ΕΙΣΑΓΩΓΗ Στο κεφάλαιο αυτό γίνεται λόγος για το αντικείμενο της πτυχιακής εργασίας, τους στόχους που τέθηκαν για την υλοποίησή της, τη συμβολή που προσδοκεί να έχει προς τον μαθητή και τον φοιτητή που θα ενδιαφερθεί να τη μελετήσει, καθώς και τη μεθοδολογία που ακολουθήθηκε για τη συγγραφή της, και τέλος την διάρθρωση της ύλης. 1.1 Στόχοι Ο στόχος που τίθεται μέσα από αυτή την αναφορά είναι η εκτέλεση, παρουσίαση, ανάλυση και επέκταση μίας σειράς πειραμάτων που αναπτύχθηκαν από τους James F. Kurose και Keith W. Ross, τα οποία θα βοηθήσουν τόσο τους σπουδαστές όσο και οποιονδήποτε ενδιαφέρει να ασχοληθεί με τα δίκτυα υπολογιστών, να αντιληφθούν καλύτερα τον τρόπο με τον οποίο γίνεται η επικοινωνία μεταξύ των πρωτοκόλλων, τα μηνύματα που ανταλλάσσουν και τις πληροφορίες που μεταφέρουν. Για να αντιληφθεί κανείς τα πρωτόκολλα δικτύου και να μπορέσει να εμβαθύνει στον τρόπο που αυτά λειτουργούν, θα πρέπει να τα δει εν δράσει. Αυτός είναι και ο λόγος που κάνει απαραίτητη την παρουσίαση του θέματος υπό τη μορφή εργαστηρίων, ώστε ο αναγνώστης να μπορέσει ο ίδιος, ακολουθώντας βήμα προς βήμα τα εργαστήρια, να τα πραγματοποιήσει από τον προσωπικό του υπολογιστή, έχοντας απλά μία σύνδεση στο Διαδίκτυο και κάνοντας χρήση ενός ελεύθερου εργαλείου καταγραφής των πακέτων που ανταλλάσσονται μεταξύ των πρωτοκόλλων. 12

1.2 Μεθοδολογία Για την υλοποίηση της πτυχιακής εργασίας και την επίτευξη των στόχων της ακολουθήθηκαν τα επιμέρους βήματα, τα οποία συνιστούν και τη μεθοδολογία που χρησιμοποιήθηκε. Να σημειωθεί ότι για τη συγγραφή αυτής της αναφοράς χρησιμοποιήθηκε ως οδηγός το σύγγραμμα των Ζαχαρία Γ. Αγιουτάντη και Στέλιου Π. Μερτίκα Ένα πρακτικός οδηγός για τη Συγγραφή Τεχνικών Κειμένων 1. Στο πρώτο μέρος αναλύεται το εργαλείο που χρησιμοποιείται για την καταγραφή μηνυμάτων που ανταλλάσσουν μεταξύ τους τα πρωτόκολλα δικτύου. Το Wireshark αποτελεί ένα ελεύθερο λογισμικό που χαρακτηρίζεται με τον όρο packet sniffer. Η δουλειά του είναι να εντοπίζει τα μηνύματα που στέλνονται και λαμβάνονται, από και προς τον υπολογιστή, και να αποθηκεύει τα περιεχόμενα αυτών, δίνοντας την δυνατότητα αναλυτικής απεικόνισης. Το ίδιο το εργαλείο είναι παθητικό, δηλαδή παρακολουθεί τα μηνύματα που ανταλλάσσονται μεταξύ των πρωτοκόλλων και των εφαρμογών, αλλά ποτέ δεν στέλνει πακέτα το ίδιο. Το Wireshark παρουσιάζεται με τέτοιο τρόπο, ώστε ακόμα και εκείνος που έρχεται για πρώτη σε επαφή με ένα λογισμικό αυτής της μορφής να μπορεί να κατανοήσει τον τρόπο λειτουργίας του και να εξοικειωθεί εύκολα και γρήγορα με το περιβάλλον του. Στο δεύτερο μέρος εκτελούνται, παρουσιάζονται, αναλύονται και επεκτείνονται τα εργαστήρια στα οποία, βήμα προς βήμα, ο αναγνώστης έχει την ευκαιρία να ανακαλύψει τις διαφορετικές όψεις κάθε πρωτόκολλου και να εμβαθύνει στον τρόπο λειτουργίας αυτού. Το σημαντικότερο είναι ότι μπορεί να πραγματοποιήσει μόνος του τα πειράματα και να οδηγηθεί ο ίδιος στα συμπεράσματα του κάθε πειράματος. 1.3 Δομή της Πτυχιακής Εργασίας Το πρώτο κεφάλαιο είναι εισαγωγικό. Στο δεύτερο κεφάλαιο παρουσιάζεται το λογισμικό που χρησιμοποιείται ως εργαλείο για την καταγραφή των μηνυμάτων που ανταλλάσσουν τα πρωτόκολλα δικτύου, το Wireshark. Ακολουθεί το τρίτο κεφάλαιο, το οποίο περιλαμβάνει τα εργαστήρια των πρωτοκόλλων δικτύου. Τέλος, το τέταρτο κεφάλαιο είναι ο επίλογος της πτυχιακής εργασίας. 1 Ζαχαρίας Γ. Αγιουτάντης και Στέλιος Π. Μερτίκας, Ένα πρακτικός οδηγός για τη Συγγραφή Τεχνικών Κειμένων, Εκδ. ΙΩΝ, Αθήνα 2003 13

2. Εισαγωγή στο Wireshark Σε αυτό το κεφάλαιο θα γίνει η παρουσίαση του Wireshark, του εργαλείου που θα χρησιμοποιηθεί για την καταγραφή των μηνυμάτων. Σε πρώτη φάση θα αναλυθεί η έννοια των πρωτόκολλων δικτύου, και έπειτα θα γίνει η γνωριμία με το Wireshark. Πληροφορίες για το Wireshark, και για τη γενικότερη λειτουργία εργαλείων καταγραφής των μηνυμάτων που στέλνονται και λαμβάνονται από τους υπολογιστές, αντλούνται τόσο από τα πειράματα που ανέπτυξαν οι James F. Kurose και Keith W. Ross 2, όσο και από την ιστοσελίδα της ομάδας που ανέπτυξε το Wireshark 3. 2.1 Πρωτόκολλα δικτύου Το Διαδίκτυο και τα δίκτυα υπολογιστών κάνουν εκτεταμένη χρήση πρωτοκόλλων, με διαφορετικά πρωτόκολλα να κάνουν διαφορετικές εργασίες. Το θεωρητικό κομμάτι αυτής της αναφοράς στηρίζεται στο σύγγραμμα Δικτύωση Υπολογιστών 4, των James F. Kurose και Keith W. Ross. Ας δοθεί όμως πρώτα ένας ορισμός, με βάση τους παραπάνω συγγραφείς, για τα πρωτόκολλα δικτύου: «Ένα πρωτόκολλο ορίζει τη μορφή και τη σειρά των μηνυμάτων που ανταλλάσσονται ανάμεσα σε δύο ή περισσότερες επικοινωνούσες οντότητες, όπως και τις ενέργειες που γίνονται κατά τη διάρκεια της μετάδοσης και/ή της λήψης ενός μηνύματος ή άλλου γεγονότος.». Τα μηνύματα και οι ενέργειες αυτές θα καταγραφούν με την βοήθεια του Wireshark, επιλέγοντας κάποια από τα πρωτόκολλα δικτύου που χρησιμοποιούνται σήμερα. Τα πρωτόκολλα που θα εξεταστούν είναι τα παρακάτω: HTTP, DNS, TCP, UDP, SSL, IP, Ethernet, ARP, ICMP, DHCP, 802.11. Όπου κρίνεται αναγκαίο, στο εργαστηριακό μέρος της εργασίας, θα γίνεται αναφορά στο θεωρητικό μέρος των πρωτοκόλλων δικτύου που θα εξεταστούν. Κρίνεται όμως αναγκαίο ο αναγνώστης της εργασίας αυτής να έχει ήδη μελετήσει την θεωρία πίσω από τα συγκεκριμένα πρωτόκολλα προτού συνεχίσει στο εργαστηριακό κομμάτι. 2 http://gaia.cs.umass.edu/ethereal-labs/, Version: 2.0 2007 J.F. Kurose, K.W. Ross. All Rights Reserved 3 www.wireshark.org 4 James F. Kurose and Keith W. Ross, Δικτύωση Υπολογιστών,(Μετ. Α. Μανιτσάρης, Π. Φουληράς), Εκδ. Γκιούρδας, Αθήνα 2008 3 14

2.2 Γενικά για το Wireshark Το βασικό εργαλείο για την παρατήρηση των μηνυμάτων που ανταλλάσσονται μεταξύ των εκτελούμενών οντοτήτων πρωτοκόλλων καλείται packet sniffer ("sniffs" δηλαδή μυρίζεται ). Όπως υπονοεί και το όνομα, ο packet sniffer συλλαμβάνει τα μηνύματα τα οποία στέλνονται ή λαμβάνονται από τον υπολογιστή. Επίσης, ο packet sniffer συνήθως αποθηκεύει και απεικονίζει τα περιεχόμενα διαφόρων πεδίων πρωτοκόλλων που περιέχονται στα μηνύματα που συλλαμβάνονται. Ο ίδιος ο packet sniffer είναι παθητικός. Παρατηρεί τα μηνύματα που στέλνονται και λαμβάνονται από τις εφαρμογές και τα πρωτόκολλα που τρέχουν στον υπολογιστή σας αλλά ο ίδιος δεν στέλνει ποτέ πακέτα. Παρόμοια, τα λαμβανόμενα πακέτα δεν απευθύνονται ποτέ με ρητό τρόπο στον packet sniffer. Αντίθετα, ο packet sniffer λαμβάνει ένα αντίγραφο των πακέτων που στέλνονται ή λαμβάνονται από τις εφαρμογές και τα πρωτόκολλα που εκτελούνται στον υπολογιστή. Εικόνα 1 Δομή ενός εργαλείου εντοπισμού πακέτων, όπως το Wireshark. Στα δεξί μέρος της Εικόνας 1 φαίνονται τα πρωτόκολλα (στην προκειμένη περίπτωση τα πρωτόκολλα του Διαδικτύου ) και οι εφαρμογές (όπως ένας web browser ή ένας ftp client) που τρέχουν κανονικά στον υπολογιστή. Ο packet sniffer, ο οποίος φαίνεται μέσα στο παραλληλόγραμμο διακεκομμένων γραμμών της Εικόνας 1, είναι μία προσθήκη στο σύνηθες λογισμικό του υπολογιστή και αποτελείται από δύο μέρη. Η βιβλιοθήκη σύλληψης πακέτων (packet capture library) λαμβάνει ένα αντίγραφο κάθε πλαισίου επιπέδου ζεύξης που στέλνεται ή λαμβάνεται από τον υπολογιστή σας. Υπενθυμίζεται ότι τα μηνύματα που ανταλλάσσονται από τα πρωτόκολλα ανώτερων επιπέδων, όπως το HTTP, FTP, TCP, UDP ή το IP, τελικά ενθυλακώνονται όλα μέσα σε πλαίσια επιπέδου ζεύξης τα 15

οποία μεταδίδονται μέσω φυσικών μέσων όπως ένα καλώδιο Ethernet. Επομένως, η σύλληψη όλων των πλαισίων επιπέδου ζεύξης παρέχει όλα τα μηνύματα που στέλνονται και λαμβάνονται από όλα τα πρωτόκολλα και όλες τις εφαρμογές που εκτελούνται στον υπολογιστή. To δεύτερο συστατικό στοιχείο ενός packet sniffer είναι ο αναλυτής πακέτων (packet analyzer), ο οποίος απεικονίζει τα περιεχόμενα όλων των πεδίων μέσα στο μήνυμα ενός πρωτοκόλλου. Για το σκοπό αυτό, ο αναλυτής πακέτων πρέπει να "καταλαβαίνει" τη δομή όλων των μηνυμάτων που ανταλλάσσονται από τα πρωτόκολλα. Για παράδειγμα, έστω ότι πρέπει να απεικονιστούν τα διάφορα πεδία των μηνυμάτων που ανταλλάσσονται από το πρωτόκολλο HTTP στην Εικόνα 1. Ο αναλυτής πακέτων καταλαβαίνει τη μορφή των πλαισίων Ethernet και επομένως μπορεί να αναγνωρίσει ένα αυτοδύναμο πακέτο IP (IP datagram) μέσα σε ένα πλαίσιο Ethernet. Επίσης, καταλαβαίνει τη μορφή ενός IP datagram, ώστε να είναι σε θέση να εξάγει ένα TCP segment που περιέχεται μέσα σε ένα IP datagram. Επιπλέον, καταλαβαίνει τη δομή ενός TCP segment οπότε μπορεί να εξάγει το μήνυμα HTTP που περιέχεται στο TCP segment. Τέλος, καταλαβαίνει το πρωτόκολλο HTTP και έτσι, για παράδειγμα, γνωρίζει ότι τα πρώτα bytes ενός μηνύματος HTTP θα περιέχουν τις ακολουθίες χαρακτήρων "GET", "POST" ή "HEAD". Σε αυτή την εργασία θα χρησιμοποιηθεί ο packet sniffer Wireshark, ο οποίος δίνει τη δυνατότητα απεικόνισης των περιεχομένων των μηνυμάτων που στέλνονται ή λαμβάνονται από τα πρωτόκολλα σε διαφορετικά επίπεδα της στοίβας πρωτοκόλλων. To Wireshark είναι ένας ΔΩΡΕΑΝ (Freeware) αναλυτής δικτυακών πρωτοκόλλων ο οποίος τρέχει σε υπολογιστές Windows, Linux/Unix και Mac. Είναι ένας ιδανικός αναλυτής πακέτων, ευσταθής, έχει μία μεγάλη βάση χρηστών και καλά στοιχειοθετημένη υποστήριξη που περιλαμβάνει έναν οδηγό χρήστη, σελίδες εγχειριδίου χρήστη και ένα λεπτομερή κατάλογο συχνών ερωτημάτων, είναι πλούσιος σε λειτουργίες που περιλαμβάνουν τη ικανότητα να αναλύει περισσότερα από 500 πρωτόκολλα και έχει μία καλά σχεδιασμένη διεπαφή χρήστη (user interface). Λειτουργεί σε υπολογιστές που για τη διασύνδεση τους με το Διαδίκτυο χρησιμοποιούν το πρωτόκολλο Ethernet, καθώς επίσης σε υπολογιστές που χρησιμοποιούν τα λεγόμενα πρωτόκολλα σημείου-προς- σημείο όπως το ΡΡΡ. 16

2.3 Η γραφική διεπαφή χρήστη (GUI) του Wireshark Κατά την εκτέλεση του προγράμματος Wireshark εμφανίζεται στην οθόνη η γραφική διεπαφή χρήστη (graphical user interface, GUI) του Wireshark που φαίνεται στην Εικόνα 2. Αρχικά, τα διάφορα παράθυρα δεν περιέχουν δεδομένα. Εικόνα 2 Το γραφικό περιβάλλον του Wireshark. Η διεπαφή του Wireshark περιλαμβάνει πέντε κύρια συστατικά στοιχεία: Τα μενού των εντολών (command menus) είναι συνηθισμένα μενού που βρίσκονται στο επάνω μέρος του παραθύρου. Το ενδιαφέρον στρέφεται στα μενού File και Capture. To μενού File επιτρέπει την αποθήκευση δεδομένων για πακέτα που έχουν συλληφθεί ή το άνοιγμα ενός αρχείου που περιέχει δεδομένα πακέτων που είχαν συλληφθεί προηγουμένως και την έξοδο από το Wireshark. Από το μενού Capture ξεκινάει η σύλληψη πακέτων. 17

Το παράθυρο καταλόγου πακέτων (packet-listing window) παρουσιάζει μία περίληψη της μιας γραμμής για κάθε πακέτο που συλλαμβάνεται η οποία περιλαμβάνει τον αριθμό πακέτου (πρόκειται για αριθμό που απονέμεται από το Wireshark και όχι για έναν αριθμό πακέτου που περιέχεται στην επικεφαλίδα οποιουδήποτε πρωτοκόλλου), τον χρόνο σύλληψης του πακέτου, τις διευθύνσεις πηγής και προορισμού του πακέτου, το είδος του πρωτοκόλλου και πληροφορία σχετική με το πρωτόκολλο η οποία περιέχεται στο πακέτο. Ο κατάλογος των πακέτων μπορεί να ταξινομηθεί σύμφωνα με οποιαδήποτε από αυτές τις κατηγορίες κάνοντας κλικ στο όνομα της αντίστοιχης στήλης. Στο πεδίο είδος πρωτοκόλλου (protocol type) αναφέρεται το ανωτάτου επιπέδου πρωτόκολλο το οποίο έστειλε ή έλαβε ένα πακέτο, δηλαδή, το πρωτόκολλο που είναι η πηγή ή ο τελικός αποδέκτης αυτού του πακέτου. Το παράθυρο λεπτομερειών επικεφαλίδας πακέτου (packetheader details window) παρέχει λεπτομέρειες σχετικά με το επιλεγμένο στο παράθυρο packet-listing πακέτο. Οι λεπτομέρειες αυτές περιλαμβάνουν πληροφορίες σχετικά με το πλαίσιο Ethernet και το IP datagram που περιέχουν αυτό το πακέτο. Το ποσό των λεπτομερειών που παρουσιάζεται για το Ethernet και το επίπεδο IP μπορεί να επεκταθεί ή να ελαχιστοποιηθεί κάνοντας κλικ στο βέλος που δείχνει δεξιά ή προς τα κάτω και βρίσκεται στα αριστερά της γραμμής του πλαισίου Ethernet ή του IP datagram στο παράθυρο packet-header details. Εάν το πακέτο έχει μεταφερθεί με TCP ή UDP, θα παρουσιαστούν και οι λεπτομέρειες που αφορούν το TCP ή το UDP, οι οποίες μπορούν να επεκταθούν ή να ελαχιστοποιηθούν με παρόμοιο τρόπο. Τέλος, λεπτομέρειες παρέχονται επίσης για το ανωτάτου επιπέδου πρωτόκολλο το οποίο έστειλε ή έλαβε αυτό το πακέτο. Το παράθυρο περιεχομένων πακέτου (packet-contents window) παρουσιάζει ολόκληρο το περιεχόμενο ενός συλλαμβανόμενου πλαισίου και σε μορφή ASCII και σε δεκαεξαδική μορφή. Προς το επάνω μέρος της διεπαφής Wireshark βρίσκεται το πεδίο του φίλτρου παρουσίασης πακέτων (packet display filter field) στο οποίο εισάγεται το όνομα ενός πρωτοκόλλου ή κάποια άλλη πληροφορία έτσι ώστε να φιλτραριστεί η πληροφορία που παρουσιάζεται στο παράθυρο packet-listing (και επομένως στα παράθυρα packet-header και packet-contents). 18

2.4 Μία δοκιμή με το Wireshark Ως εισαγωγικό παράδειγμα θα καταγραφούν τα πακέτα που ανταλλάσσονται από την επίσκεψη μιας ιστοσελίδας. Αφού ξεκινήσει το Wireshark, οι διάφορες επιλογές που αφορούν τη λειτουργίας της καταγραφής ρυθμίζονται ακολουθώντας από το μενού επιλογών τη διαδρομή Capture -> Options. Στο παράθυρο που εμφανίζεται (βλέπε Εικόνα 3) βεβαιωθείτε ότι στο πεδίο Interface αναφέρεται το όνομα της κάρτας δικτύου του υπολογιστή σας και επιπλέον ότι η επιλογή Enable network name resolution είναι ενεργοποιημένη. Εικόνα 3 Οι επιλογές καταγραφής του Wireshark 19

Πατώντας το Start αρχίζει η καταγραφή και εμφανίζεται σχετικό ενημερωτικό παράθυρο. Χρησιμοποιήστε ένα πλοηγό διαδικτύου (π.χ.,internet eplorer) για να επισκεφτείτε κάποια ιστοσελίδα, π.χ., http://www.google.gr Μόλις φορτωθεί πλήρως η σελίδα πατήστε το Stop για να σταματήσει η καταγραφή. Στο κύριο παράθυρο του Wireshark (βλέπε Εικόνα 4), όπου φαίνεται η καταγεγραμμένη δικτυακή κίνηση, μπορεί ενδεχομένως να παρατηρήσετε κίνηση που δε σχετίζεται με την επίσκεψη της ιστοσελίδας. Εικόνα 4 Η καταγραφή όπως φαίνεται στo κύριο παράθυρο του Wireshark Η ζητούμενη κίνηση μπορεί να απομονωθεί με την εφαρμογή φίλτρου παρατήρησης ως εξής: πηγαίνετε Analyze -> Display Filters και πατήστε το πλήκτρο Expression. Από το πεδίο Field name βρείτε την επιλογή IP, πατήστε το +, διαλέγετε την επιλογή ip.addr, από το πεδίο Relation διαλέξτε το ==, στο πεδίο Value (IPv4 address) πληκτρολογήστε την διεύθυνση IP που σας ενδιαφέρει (π.χ., 209.85.148.106) και πατήστε OK. Το φίλτρο ενεργοποιείται με το πάτημα του Apply. Κλείνοντας το παράθυρο διαλόγου (με ΟΚ) θα διαπιστώσετε ότι η κίνηση είναι ενδεχομένως περιορισμένη σε σχέση με την παρατήρηση χωρίς φίλτρο.(βλέπε Εικόνα 5) 20

Εικόνα 5 Το παράθυρο του Wireshark μετά την εφαρμογή του φίλτρου. 21

3. Εργαστήρια Wireshark Σε αυτό το κεφάλαιο θα αναπτυχθούν και θα ερμηνευτούν τα πειράματα του Kurose, όπου με την βοήθεια του Wireshark θα εξεταστούν μία σειρά από πρωτόκολλα, καταγράφοντας τα μηνύματα που αυτά ανταλλάσσουν. Σημαντικό ρόλο υποστήριξης των παρακάτω εργαστηρίων παίζει ο ιστότοπος gaia.cs.umass.edu 5, ο οποίος αναπτύχθηκε από τους Καθηγητές του ΜΙΤ Jim Kurose και Don Towsley. Σε αυτό το χώρο έχουν δημιουργηθεί ιστοσελίδες για εκπαιδευτικούς λόγους, ενώ υπάρχουν και έτοιμες καταγραφές στις οποίες μπορεί κάποιος να ανατρέξει, εφόσον αδυνατεί να πραγματοποιήσει μόνος του τα πειράματα. 5 http://gaia.cs.umass.edu/index.html, CNRG Computer Networks Research Group 22

3.1 Εργαστήριο Wireshark: HTTP Σε αυτό το εργαστήριο θα ερευνηθούν οι διαφορετικές πλευρές του πρωτόκολλου HTTP: η βασική αλληλεπίδραση GET/response, οι μορφές των μηνυμάτων του πρωτοκόλλου, η ανάκτηση μεγάλων HTML αρχείων, η ανάκτηση HTML αρχείων με ενσωματωμένα αντικείμενα, και η ασφάλεια και πιστοποίηση στο HTTP. 3.1.1 Η βασική αλληλεπίδραση HTTP GET/response Προκειμένου να καταγραφεί η βασική αλληλεπίδραση HTTP GET/response ακολουθούνται κάποια βήματα. Τα βήματα αυτά είναι: Ξεκινάει ο περιηγητής διαδικτύου (π.χ. Internet Explorer). Ξεκινάει η καταγραφή πακέτων με το Wireshark. Εισάγετε το http στο παράθυρο που εισάγονται τα φίλτρα, έτσι ώστε να εμφανιστούν μόνο τα http μηνύματα. Εισάγεται η παρακάτω διεύθυνση στον φυλλομετρητή http://gaia.cs.umass.edu/wireshark-labs/http-wireshark-file1.html Θα πρέπει να εμφανιστεί ένα πολύ απλό HTML αρχείο μίας σειράς. Σταματάει τη καταγραφή πακέτων με το Wireshark. Το παράθυρο του Wireshark μετά την καταγραφή θα πρέπει να μοιάζει με την παρακάτω εικόνα.(βλ. Εικόνα 6) 23

Εικόνα 6 Το παράθυρο του Wireshark μετά την καταγραφή για το μήνυμα GET. Το παραπάνω παράδειγμα δείχνει ότι πιάστηκαν δύο HTTP μηνύματα: το μήνυμα GET από τον φυλλομετρητή στο gaia.cs.umass.edu server και η απάντηση σε αυτό από τον server στο φυλλομετρητή. Το παράθυρο με τα περιεχόμενα του πακέτου δείχνει τις λεπτομέρειες του επιλεγμένου μηνύματος (σε αυτή την περίπτωση του μηνύματος HTTP GET). Αξίζει να σημειωθεί ότι το μήνυμα HTTP μεταφέρεται μέσα σε ένα τμήμα TCP, το οποίο με τη σειρά του μεταφέρεται σε ένα αυτοδύναμο πακέτο ΙΡ, το οποίο ήταν μέσα σε ένα πλαίσιο Ethernet, με το Wireshark να δίνει πληροφορίες και για αυτά τα πακέτα. Επειδή το ενδιαφέρον στρέφεται στο HTTP θα πρέπει τα κουτάκια δίπλα στα Frame, Ethernet, IP και TCP να έχουν το σύμβολο +, ενώ στο HTTP το σύμβολο- έτσι ώστε να φαίνονται όλες οι απαραίτητες πληροφορίες. Προτού προχωρήσει η ανάλυση των πληροφοριών των δύο μηνυμάτων θα πρέπει να επιλεγεί και το μήνυμα απάντησης, έτσι ώστε να φανούν οι πληροφορίες που υπάρχουν και σε αυτό ( Βλ. Εικόνα 7). 24

Εικόνα 7. Η καταγραφή για το μήνυμα απάντησης HTTP OK. Από τις πληροφορίες στα δύο πακέτα διακρίνεται πρώτα από όλα ότι τόσο ο φυλλομετρητής όσο και ο διακομιστής τρέχουν την ίδια έκδοση HTTP, δηλαδή την 1.1. Ακόμα, στο μήνυμα HTTP GET φαίνεται και η γλώσσα που μπορεί να δεχθεί ο φυλλομετρητής από τον διακομιστή και αυτή είναι τα ελληνικά. Διακρίνονται επίσης οι διευθύνσεις ΙΡ τόσο του υπολογιστή από τον οποίο έγινε το πείραμα, είναι η 192.168.2.2, καθώς και του διακομιστή,η οποία είναι η 128.119.245.12. ένα ακόμα σημείο που είναι ενδιαφέρον, είναι ο κωδικός κατάστασης του διακομιστή, ο οποίος επιστρέφετε στον φυλλομετρητή. Ο κωδικός αυτός είναι ο HTTP/1.1 200 OK (Text/HTML), ο οποίος δείχνει ότι ο διακομιστής δέχτηκε το αίτημα. Ακόμα φαίνεται ότι ο χρόνος τροποποίησης του εγγράφου που ανακτήθηκε είναι ένα λεπτό πριν από την στιγμή που κατέβηκε. Αυτό γίνεται γιατί ο συγκεκριμένος server, για το συγκεκριμένο αρχείο, θέτει την τελευταία τροποποίηση του αρχείου ίση με την τρέχουσα ώρα, και αυτό το κάνει κάθε ένα λεπτό. Αν ξαναμπεί λοιπόν κάποιος στον server σε ένα λεπτό, θα πάρει ένα καινούριο αντίγραφο του εγγράφου. Τέλος, διακρίνεται το μέγεθος των περιεχομένων που επιστρέφονται στον φυλλομετρητή, το οποίο είναι 128 bytes, ενώ αν επιλεγούν μία μία οι επικεφαλίδες από το 25