Πρωτόκολλα Διαδικτύου (ΨΣ-326 DS151) 1 Η ΕΡΓΑΣΤΗΡΙΑΚΗ ΔΙΑΛΕΞΗ Υπεύθυνος καθηγητής: Άγγελος Ρούσκας Βοηθός: Υ.Δ. Ευθύμης Οικονόμου 1
Περιεχόμενα παρουσίασης Τι είναι η ανάλυση δικτύου; Εισαγωγή Εργαλεία ανάλυσης δικτύων WIRESHARK packet sniffer Εισαγωγή Εγκατάσταση και GUI Φίλτρα επιλογών και εμφάνισης Χρήσιμοι τελεστές Εξοικείωση με το περιβάλλον χρήσης Παραδείγματα 2
ΕΙΣΑΓΩΓΗ - Ανάλυση δικτύου και η σημασία της Ανάλυση δικτύου (network analysis ή traffic analysis ή protocol analysis ή packet analysis ή eavesdropping κτλπ) είναι η διαδικασία κατά την οποία συλλαμβάνουμε την κίνηση στο δίκτυο (δηλαδή όλα τα μηνύματα/πακέτα που κυκλοφορούν στο δίκτυο το επονομαζόμενο packet capture ή packet sniffing) και την αναλύουμε με σκοπό να αντιληφθούμε τι συμβαίνει στο δίκτυο. Παρατηρώντας την ακολουθία των πακέτων και των μηνυμάτων που ανταλλάσσουν, μπορούμε να κατανοήσουμε καλύτερα τα δικτυακά πρωτόκολλα και να εισχωρήσουμε σε λεπτομέρειες της λειτουργίας τους. 3
Εργαλεία ανάλυσης δικτύου (1/3) Ανιχνευτής πακέτων (packer sniffer): αναλαμβάνει να διαβάσει και καταγράψει την πληροφορία η οποία διακινείται στο δίκτυο. Δεν παρεμβαίνει στην κίνηση των πακέτων, απλά υποκλέπτει αντίγραφα των πακέτων με το ακριβές τους περιεχόμενο και πληροφορία. Αναλυτής πρωτοκόλλων (protocols analyzer): αναλαμβάνει να αποκωδικοποιήσει τα πακέτα δεδομένων που ανταλλάσσονται μεταξύ των γνωστών πρωτοκόλλων και να αποδίδει την κίνηση στο δίκτυο σε μια μορφή που είναι αναγνώσιμη. Αν και τα δύο εργαλεία είναι διαφορετικά μεταξύ τους, συνήθως τα συναντάμε σε ένα ενιαίο πακέτο λογισμικού. 4
Εργαλεία ανάλυσης δικτύου (2/3) 5
Εργαλεία ανάλυσης δικτύου (2/3) Για παράδειγμα, στην περίπτωση ενός μηνύματος HTTP, απαιτείται, κατ αρχήν, γνώση της δομής των πλαισίων Ethernet (Ethernet Frames), ώστε ο αναλυτής πρωτοκόλλων να είναι σε θέση να αναγνωρίσει το πακέτο IP (IP datagram) που έχει ενθυλακωθεί στο πλαίσιο Ethernet. 5
Εργαλεία ανάλυσης δικτύου (2/3) Επιπλέον, δεδομένης της δομής ενός πακέτου IP, μπορεί να αναλυθεί το τεμάχιο TCP (TCP segment) που εμπεριέχεται μέσα στο IP. Για παράδειγμα, στην περίπτωση ενός μηνύματος HTTP, απαιτείται, κατ αρχήν, γνώση της δομής των πλαισίων Ethernet (Ethernet Frames), ώστε ο αναλυτής πρωτοκόλλων να είναι σε θέση να αναγνωρίσει το πακέτο IP (IP datagram) που έχει ενθυλακωθεί στο πλαίσιο Ethernet. 5
Εργαλεία ανάλυσης δικτύου (2/3) Ομοίως, η δομή του τεμαχίου TCP επιτρέπει την αποκωδικοποίηση του μηνύματος HTTP (HTTP message), ενώ περαιτέρω ανάλυση οδηγεί στο συγκεκριμένο τύπο του μηνύματος HTTP, δηλαδή HTTP GET, HTTP POST κ.ο.κ. Επιπλέον, δεδομένης της δομής ενός πακέτου IP, μπορεί να αναλυθεί το τεμάχιο TCP (TCP segment) που εμπεριέχεται μέσα στο IP. Για παράδειγμα, στην περίπτωση ενός μηνύματος HTTP, απαιτείται, κατ αρχήν, γνώση της δομής των πλαισίων Ethernet (Ethernet Frames), ώστε ο αναλυτής πρωτοκόλλων να είναι σε θέση να αναγνωρίσει το πακέτο IP (IP datagram) που έχει ενθυλακωθεί στο πλαίσιο Ethernet. 5
Εργαλεία ανάλυσης δικτύου (2/3) Ομοίως, η δομή του τεμαχίου TCP επιτρέπει την αποκωδικοποίηση του μηνύματος HTTP (HTTP message), ενώ περαιτέρω ανάλυση οδηγεί στο συγκεκριμένο τύπο του μηνύματος HTTP, δηλαδή HTTP GET, HTTP POST κ.ο.κ. Επιπλέον, δεδομένης της δομής ενός πακέτου IP, μπορεί να αναλυθεί το τεμάχιο TCP (TCP segment) που εμπεριέχεται μέσα στο IP. Για παράδειγμα, στην περίπτωση ενός μηνύματος HTTP, απαιτείται, κατ αρχήν, γνώση της δομής των πλαισίων Ethernet (Ethernet Frames), ώστε ο αναλυτής πρωτοκόλλων να είναι σε θέση να αναγνωρίσει το πακέτο IP (IP datagram) που έχει ενθυλακωθεί στο πλαίσιο Ethernet. 5
Εργαλεία ανάλυσης δικτύου (3/3) TCP segment, but UDP datagram 6
Εργαλεία ανάλυσης δικτύου (3/3) TCP segment, but UDP datagram 6
WIRESHARK Εισαγωγή ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Το Wireshark αποτελεί ένα από τα διασημότερα προγράμματα παγκοσμίως για την ανάλυση των δικτύων. Παρέχει πληροφορίες για το δίκτυο σας και των πρωτοκόλλων ανώτερου επιπέδου σχετικά με τα δεδομένα που διακινούνται σ αυτό. Όπως πολλά άλλα δικτυακά προγράμματα, το Wireshark χρησιμοποιεί τη δικτυακή βιβλιοθήκη Packet CAPture (Pcap) για την σύλληψη (capture) των πακέτων (στα Windows ονομάζεται WinPcap). Η δύναμη του Wireshark πηγάζει από: την ευκολία εγκατάστασής του. την απλότητα της χρήσης του μέσω της γραφικής διεπαφής του (GUI). την πληθώρα των λειτουργιών του. Το Wireshark ονομαζόταν Ethereal μέχρι το 2006, όταν ο επικεφαλής προγραμματιστής, αποφάσισε την αλλαγή του ονόματός του λόγω δικαιωμάτων χρήσης που προϋπήρχαν για το όνομα Ethereal, το οποίο ήταν κατοχυρωμένο από την εταιρεία από την οποία αποφάσισε να αποχωρήσει το 2006. Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με το Wireshark στην ιστοσελίδα του. Εάν δεν χρησιμοποιείτε Γραφικό Περιβάλλον, θα μπορούσατε να χρησιμοποιήσετε το "TShark" το οποίο αποτελεί την έκδοση CLI του Wireshark και υποστηρίζει τις ίδιες λειτουργίες με το Wireshark. Μπορείτε να αναζητήσετε πληροφορίες στο διαδίκτυο και για άλλα λογισμικά (network analyzers) όπως το Capsa Free Network Analyzer. 7
WIRESHARK Εγκατάσταση Για να εγκαταστήσουμε το WIRESHARK κατεβάζουμε από την ιστοσελίδα του προγράμματος https://www.wireshark.org/#download το εκτελέσιμο αρχείο εγκατάστασης στον υπολογιστή μας και ακολουθούμε τις οδηγίες όπως φαίνονται στις ακόλουθες εικόνες: 8
WIRESHARK Γραφικό περιβάλλον χρήστη (GUI) 9
WIRESHARK Φίλτρα επιλογών και εμφάνισης (1/2) Τα φίλτρα που αναλαμβάνουν το φιλτράρισμα των πακέτων που έχουν ήδη καταγραφεί (display filters), ακολουθούν μια ειδική σύνταξη που επιτρέπει την ταξινόμηση των πακέτων με τον επιθυμητό, κάθε φορά, τρόπο. Το Wireshark υποστηρίζει πλειάδα πρωτοκόλλων καθώς και αντίστοιχων display filters τα οποία πληθαίνουν καθώς το πακέτο ωριμάζει και όλο και περισσότεροι χρήστες εμπλέκονται στην ανάπτυξη και τον εμπλουτισμό του. Παραδείγματα φίλτρων ip.addr == xxx.xxx.xxx.xxx ip.src == xxx.xxx.xxx.xxx ip.dst eq xxx.xxx.xxx.xxx http http.request.method ==. tcp tcp.port == xxxxx!(arp or icmp or udp) frame.len < 100 frame contains.. 10
WIRESHARK Φίλτρα επιλογών και εμφάνισης (2/2) 11
WIRESHARK Φίλτρα επιλογών και εμφάνισης (2/2) 11
WIRESHARK Χρήσιμοι τελεστές Σύγκρισης eq, == Equal ne,!= Not Equal gt, > Greater Than lt, < Less Than ge, >= Greater than or Equal to le, <= Less than or Equal to Λογικής and, && Λογικό ΚΑΙ or, Λογικό Ή not,! Λογικό ΟΧΙ Αναζήτησης και εξακρίβωσης contains Περιέχει το πρωτόκολλο, πεδίο ή τμήμα μία τιμή, π.χ.: http contains "www.unipi.gr" matches Ταιριάζει το πρωτόκολλο, ή το κείμενο με τη δοθείσα Perl έκφραση, π.χ.: wsp.user_agent matches "(?i)cldc" Bitwise bitwise_and, & π.χ.: dns.flags & 0x8180 tcp.flags bitwise_and 0x02 12
WIRESHARK Εξοικείωση με το περιβάλλον χρήσης (1/4) 13
WIRESHARK Εξοικείωση με το περιβάλλον χρήσης (2/4) Φόρτωση αποθηκευμένων traces File Open και επιλέγουμε το επιθυμητό Wireshark capture αρχείο 14
WIRESHARK Εξοικείωση με το περιβάλλον χρήσης (3/4) Εναλλαγή εμφάνισης χρόνου View Time Display Format και επιλέγουμε την επιθυμητή μορφή χρονική απεικόνισης 15
WIRESHARK Εξοικείωση με το περιβάλλον χρήσης (4/4) Εκτύπωση πακέτου Επιλέγουμε το πακέτο που θέλουμε να εκτυπώσουμε File Print (ή Ctrl+p) Selected packets only Print και το αποθηκεύουμε στον υπολογιστή μας. 16
WIRESHARK Παραδείγματα (1/5) Στα παραδείγματα που ακολουθούν χρησιμοποιήθηκε το Wireshark pcap traces αρχείο: traces_http_ergasthriou.pcap Ερώτηση 1: Ταξινομήστε τα πρωτόκολλα με αλφαβητικό τρόπο. Ονομάστε τα 10 πρώτα πρωτόκολλα. dhcp Filter:!(arp or browser or bootp or dhcpv6 or dns or http or lldp or llmnr or mdns or nbns) 17
WIRESHARK Παραδείγματα (2/5) Ερώτηση 2: Εντοπίστε την πρώτη HTTP/1.1 200 ΟΚ απόκριση. Ποια χρονική στιγμή καταγράφηκε; Σε τι αποκρίθηκε; Πόσος χρόνος πέρασε από τότε που στάλθηκε μέχρι να ληφθεί η απόκριση; Filter: http contains HTTP/1.1 200 OK Remember to follow TCP stream 18
WIRESHARK Παραδείγματα (3/5) Ερώτηση 3: Εντοπίστε το πρώτο HTTP GET μήνυμα. Ποια χρονική στιγμή καταγράφηκε και πόση ώρα αργότερα ελήφθη η απόκρισή του; Ποια είναι τελικά η απόκριση που ελήφθη; Σε ποιον HOST απευθύνεται; Filter: http.request.method == GET Remember to follow TCP stream (50.267287-50.260451)=0.006836 19
WIRESHARK Παραδείγματα (4/5) Ερώτηση 4: Ένα Antivirus system επιχειρεί αναβάθμιση, η οποία κίνηση έχει εντοπιστεί μέσα στα πακέτα του trace που κοιτάμε. Εντοπίστε το κλειδί άδειας (LIC) και το όνομα του antivirus system. Filter: frame contains "LIC" or frame contains "update" or frame contains "soft or frame contains virus" 20
WIRESHARK Παραδείγματα (5/5) Ερώτηση 5: Ενεργοποιείτε το wireshark trace και ανοίγετε στον περιηγητή σας την σελίδα του Πανεπιστημίου μας: www.unipi.gr. Μόλις ανοίξει η σελίδα, πατάτε refresh (F5) για να ξαναφορτώσει η ίδια σελίδα. Σταματήστε την καταγραφή των traces στο wireshark. 1. Ποια είναι η IP διεύθυνση του Πανεπιστημίου μας; 2. Ποια είναι η IP διεύθυνση του υπολογιστή σας; 3. Εντοπίστε το /html αρχείο της ιστοσελίδας που μόλις ανοίξατε. Τι Status code και τι Response phrase έχει; Q1: frame contains www.unipi.gr Q2: ip.src eq + εισάγετε την IP που βρήκατε στην Q1 και δείτε το Destination Q3: http contains "/html ελέγξτε πως βλέπετε το σωστό αρχείο, το οποίο θα πρέπει να χρησιμοποιεί τις IPs των Q1 & Q2. 21
22