Εργαστηριακή Άσκηση 3 Σκοπός της τρίτης σειράς ασκήσεων είναι η γνωριµία µε τον αναλυτή πρωτοκόλλων Wireshark. Το πρόγραµµα Wireshark είναι ένας ανιχνευτής πακέτων (packet sniffer) και διατίθεται ως ανοιχτό λογισµικό για όλα τα λειτουργικά συστήµατα. Μπορείτε να κατεβάσετε το πρόγραµµα από την ηλεκτρονική διεύθυνση www.wireshark.org. Οι βασικές λειτουργίες του προγράµµατος είναι δύο : α) η καταγραφή και η σύλληψη της δικτυακής κίνησης (capture) και β) η ανάλυση της δικτυακής κίνησης. Όταν λέµε καταγραφή και σύλληψη της δικτυακής κίνησης, εννοούµε την συλλογή την µηνυµάτων που στέλνονται και λαµβάνονται από τον υπολογιστή. Τα µηνύµατα αυτά εµφανίζονται αποκωδικοποιηµένα σε µορφή κατανοητή από τους ανθρώπους. Η καταγραφή των µηνυµάτων γίνεται από τον ανιχνευτή πακέτων, ο οποίος δρα παθητικά, δηλαδή δεν παρεµβαίνει στην κυκλοφορία των µηνυµάτων δηµιουργώντας ή καταστρέφοντας µηνύµατα. Σε τακτά χρονικά διαστήµατα, ο ανιχνευτής λαµβάνει αντίγραφα όλων των εισερχοµένων και εξερχοµένων µηνυµάτων του υπολογιστή. Πιο συγκεκριµένα, λαµβάνει ένα αντίγραφο όλων των πλαισίων που στέλνονται/λαµβάνονται προς/από τις διάφορες εφαρµογές και πρωτόκολλα του υπολογιστή όπου εκτελείται. Ο ανιχνευτής πακέτων διαιρείται σε δύο τµήµατα, τη βιβλιοθήκη σύλληψης πακέτων και τον αναλυτή πακέτων. Στο επόµενο στάδιο, κάθε ένα από αυτά τα πλαίσια, περνάει µέσα από τη βιβλιοθήκη σύλληψης πακέτων, η οποία διαβάζοντας κάθε ένα πλαίσιο, αναγνωρίζει το δίκτυο από το οποίο προέρχεται και βρίσκει τα διάφορα µηνύµατα που έχουν ενθυλακώσει τα ανώτερα επίπεδα. Έπειτα ο αναλυτής πακέτων εµφανίζει τα περιεχόµενα όλων των πεδίων κάθε µηνύµατος. Για να έχει αυτή τη δυνατότητα, ο αναλυτής θα πρέπει να γνωρίζει τη δοµή όλων των πιθανών µηνυµάτων όλων των πρωτοκόλλων. Μπορείτε να κατεβάσετε και να εγκαταστήσετε τον ανιχνευτή πρωτοκόλλων Wireshark για το λειτουργικό σας σύστηµα από την ιστοσελίδα http://www.wirwshark.org/download.html Περισσότερες πληροφορίες για τον ανιχνευτή πρωτοκόλλων Wireshark θα βρείτε στην ιστοσελίδα http://www.wirwshark.org/docs, όπου υπάρχουν τα εγχειρίδια για την εγκατάσταση και λειτουργία του ανιχνευτή αλλά και στην ιστοσελίδα http://www.wireshark.org/faq.html όπου δίνονται απαντήσεις στα πιο συχνά ερωτήµατα των χρηστών. Σε κάθε χρήση του προγράµµατος, ο χρήστης µπορεί να περιορίζει την κίνηση που καταγράφεται,
ορίζοντας τα αντίστοιχα φίλτρα καταγραφής. Σύµφωνα µε το πρόγραµµα υπάρχουν δύο ειδών φίλτρα, τα φίλτρα καταγραφής (capture) και τα φίλτρα ανάλυσης (display). Ένα παράδειγµα του γραφικού περιβάλλοντος του προγράµµατος σε χρήση, φαίνεται στην εικόνα που ακολουθεί. Το γραφικό περιβάλλον χωρίζεται σε τέσσερα διαφορετικά τµήµατα: 1. Το πεδίο ορισµού των φίλτρων ανάλυσης 2. Τη λίστα καταγραφής των πακέτων που έχουν συλληφθεί και µια σύντοµη περιγραφή τους, όπως αύξοντας αριθµός, πηγή, προορισµός, πρωτόκολλο 3. Την ανάλυση της επικεφαλίδας κάποιου επιλεγµένου πακέτου από την παραπάνω λίστα, µε περισσότερες πληροφορίες για την επικεφαλίδα να αναδύονται έπειτα από πάτηµα του + που προηγείται κάθε επικεφαλίδας και τέλος 4. Την εµφάνιση των περιεχοµένων του πακέτου σε δεκαεξαδική και σε ASCII µορφή. Σε µια πρώτη γνωριµία µε το Wireshark, παρατηρείστε την κίνηση που δηµιουργεί η επίσκεψη σε µια ιστοσελίδα ανοίγοντας τον Internet Explorer, ακολουθώντας τα παρακάτω βήµατα: 1. Από το µενού τις κεντρικής σελίδας του Wireshark, επιλέξτε Capture Options και
στο αναδυόµενο παράθυρο, στο πεδίο Interface, παρατηρείστε ότι αναγράφεται ορθά το όνοµα της κάρτας δικτύου που χρησιµοποιείται (αν το όνοµα της κάρτας δικτύου δεν είναι σωστό κάντε κλικ στο κάτω βέλος, που βρίσκεται δεξιά του πεδίου Interface, και επιλέξτε τη σωστή κάρτα δικτύου) και ότι όλες οι επιλογές Enable είναι ενεργοποιηµένες (αν δεν είναι ενεργοποιήστε τις). 2. Για να ξεκινήσει η καταγραφή πατήστε Start και παρατηρήστε την ροή των πακέτων στην κύρια οθόνη. 3. Επισκεφτείτε µε τον Internet Explorer την ακόλουθη ιστοσελίδα: http://www.contra.gr και µόλις φορτωθεί πλήρως η σελίδα σταµατήστε την καταγραφή στο Wireshark (για να σταµατήσει η καταγραφή κάντε κλικ στο µενού Capture Stop). 4. Στο κύριο παράθυρο του Wireshark, µπορεί να παρατηρήσετε και κάποια κίνηση που δε σχετίζεται µε την επίσκεψη της ιστοσελίδας. Η ζητούµενη κίνηση µπορεί να αποµονωθεί µε την εφαρµογή φίλτρου παρατήρησης ως εξής: a. Κάντε κλικ στο µενού Analyze - Display Filters και στο αναδυόµενο παράθυρο κάντε κλικ στο κουµπί Expression. b. Στη λίστα Field name βρείτε την επιλογή IP, κάντε κλικ στο + και διαλέξτε την επιλογή ip.addr, c. Στη λίστα Relation επιλέξτε το == και κατόπιν στο πεδίο Value (IPv4 address) πληκτρολογήστε 195.72.135.25. d. Κάντε κλικ στο κουµπί ΟΚ e. Ενεργοποιείστε το φίλτρο κάνοντας κλικ στο κουµπί Apply και κατόπιν κάντε κλικ στο κουµπί ΟΚ. 5. Παρατηρήστε ότι η κίνηση µπορεί να είναι µειωµένη σε σχέση µε πριν. 6. Με διπλό κλικ στη γραµµή Frame του παράθυρου λεπτοµερειών επικεφαλίδας, µπορείτε να δείτε όλα τα πρωτόκολλα που περιλαµβάνει το πλαίσιο καθώς και τη σειρά ενθυλάκωσής τους στο πλαίσιο Ethernet. 7. Ταξινοµείστε τα πλαίσια µε αύξουσα αριθµητική σειρά (κάντε κλικ στο πεδίο No της επικεφαλίδας) 8. Κατόπιν τοποθετήστε τον δροµέα στο πρώτο πλαίσιο που περιέχει τεµάχιο TCP, πιέστε το δεξί πλήκτρο του ποντικιού και επιλέξτε το Follow TCP Stream. 9. Στην οθόνη που θα εµφανισθεί βλέπετε το περιεχόµενο της συγκεκριµένης ροής TCP, δηλαδή, την ανταλλαγή µηνυµάτων µεταξύ του πλοηγού και του εξυπηρετητή ιστού. Τα µηνύµατα (εντολές) του πλοηγού ιστού εµφανίζονται σε ροζ φόντο, ενώ τα µηνύµατα (αποκρίσεις) του εξυπηρετητή ιστού εµφανίζονται σε γαλάζιο φόντο, όπως στο ακόλουθο παράδειγµα:
GET /default.aspx?t=f&v=1&zoneid=49290 HTTP/1.1 Host: adserver.itsfogo.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-gb; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-gb,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://www.contra.gr/ HTTP/1.1 200 OK Cache-Control: public Date: Wed, 25 Feb 2009 18:46:02 GMT Content-Type: text/html; charset=utf-8 Expires: Wed, 25 Feb 2009 18:47:02 GMT Server: Microsoft-IIS/6.0 P3P: CP="NON DSP COR NID CUR OUR NOR" X-Powered-By: ASP.NET X-AspNet-Version: 2.0.50727 Με βάση τα πακέτα που έχει συλλέξει ο ανιχνευτής, βρείτε το πρώτο πακέτο στο οποίο το πεδίο Protocol έχει την τιµή HTTP GET, δηλαδή την εντολή για το κατέβασµα της ιστοσελίδας από το Server, και απαντήστε στα παρακάτω : 1. Ποια είναι η IP διεύθυνση του http://www.contra.gr ; 2. Ποια είναι η IP διεύθυνση του υπολογιστή σας; 3. Ποια είναι η MAC διεύθυνση του υπολογιστή σας σε δεκαεξαδική µορφή ; 4. Ποιος είναι ο κατασκευαστής της κάρτας δικτύου του υπολογιστή σας; 5. Καταγράψτε τα πρωτόκολλα που χρησιµοποιούνται για την επικοινωνία µε την ιστοσελίδα. Για να γίνει αυτό κάντε κλικ στο πεδίο Protocol (στην κεφαλίδα) της λίστας καταγεγραµµένων πακέτων και αυτά θα οµαδοποιηθούν ανά πρωτόκολλο.
6. Βρείτε τον τύπο του εξυπηρετητή που φιλοξενεί την παραπάνω ιστοσελίδα. 7. Βρείτε τον τίτλο και το αντίστοιχο HTML tag της σελίδας που επισκεφθήκατε. 8. Βρείτε που εµφανίζεται αυτός ο τίτλος στο παράθυρο του browser. 9. Ποια είναι η σύνταξη του φίλτρου που εµφανίζεται τώρα στο παράθυρο του φίλτρου ανάλυσης; (filter :...) 10. ώστε το κατάλληλο φίλτρο έτσι ώστε τώρα να εµφανίζονται µόνο µηνύµατα HTTP. 11. ώστε το κατάλληλο φίλτρο έτσι ώστε τώρα να εµφανίζονται µόνο τα µηνύµατα HTTP που έστειλε ο υπολογιστής σας.