Πρωτόκολλα Διαδικτύου (ΨΣ-326 DS151) 2 Η ΕΡΓΑΣΤΗΡΙΑΚΗ ΔΙΑΛΕΞΗ (WIRESHARK ΠΡΩΤΟΚΟΛΛΑ ΕΦΑΡΜΟΓΗΣ) Υπεύθυνος καθηγητής: Άγγελος Ρούσκας Βοηθός: Υ.Δ. Ευθύμης Οικονόμου 1
Περιεχόμενα παρουσίασης HTTP συνέχεια If-Modified-Since Continuation HTML με ενσωματωμένα αντικείμενα Εξουσιοδότηση στο HTTP DNS Εισαγωγή Ερωτήσεις Μηνύματα Παραδείγματα FTP Εισαγωγή Οδηγίες χρήσης Παραδείγματα 2
HTTP συνέχεια If-Modified-Since (1/2) Όπως μπορεί να έχετε ήδη αντιληφθεί από την ονομασία της, η If-modified-since αναζητά ήδη αποθηκευμένα αρχεία στα προσωρινά αρχεία του περιηγητή σας. Είναι κομμάτι του HTTP πρωτοκόλλου και χαρακτηρίζεται ως ιδιαιτέρως χρήσιμο, κυρίως ως τρόπος διαχείρισης της ωφέλιμης μεταδιδόμενης πληροφορίας στο διαδίκτυο. Διαγράψτε τα προσωρινά αρχεία (cache) του περιηγητή διαδικτύου (browser) στον Η/Υ που χρησιμοποιείται. Ανοίξτε το Wireshark και εκκινήστε την καταγραφή traces. Πλοηγηθείτε στην διεύθυνση: http://gaia.cs.umass.edu/ethereal-labs/http-etherealfile2.html. Μόλις φορτώσει πλήρως η ιστοσελίδα, ανανεώστε τη (F5 refresh), περιμένετε 10 και έπειτα τερματίστε την καταγραφή των traces. Εντοπίστε την πρώτη και την δεύτερη HTTP GET απόκριση. Βρείτε σε ποια από τις δύο αποκρίσεις εμφανίζεται η If-Modified-Since γραμμή; 3
HTTP συνέχεια If-Modified-Since (2/2) 4
HTTP συνέχεια Ανάκτηση μεγάλων αρχείων (1/2) Σε περιπτώσεις ανάκτησης μεγάλων αρχείων (π.χ. ογκώδη κείμενα σε ιστοσελίδες, φωτογραφίες, κ.ο.κ) γίνεται τεμαχισμός του συνόλου της πληροφορίας ώστε να «χωρέσει» σε καθένα από τα TCP segments που θα χρησιμοποιήσει για να μεταδοθεί το σύνολο της εκάστοτε πληροφορίας. Οπότε, η HTTP GET αίτηση διασπάται σε μικρότερα τμήματα από το TCP και κάθε κομμάτι της περιέχεται σε ξεχωριστό TCP segment. Κάθε TCP segment καταγράφεται στο Wireshark ως ξεχωριστό πακέτο και το γεγονός ότι η μία HTTP απόκριση κατατμήθηκε σε πολλαπλά πακέτα TCP, υποδεικνύεται με τη φράση Continuation σε παλαιότερες εκδόσεις του Wireshark. Θα πρέπει να τονίσουμε ότι δεν υπάρχει μήνυμα Continuation στο HTTP! Ανοίξτε το Wireshark και εκκινήστε την καταγραφή traces. Πλοηγηθείτε στην διεύθυνση: http://gaia.cs.umass.edu/ethereal-labs/http-etherealfile3.html. Μόλις φορτώσει πλήρως η ιστοσελίδα, ανανεώστε τη (F5 refresh), περιμένετε 10 και έπειτα τερματίστε την καταγραφή των traces. 5
HTTP συνέχεια Ανάκτηση μεγάλων αρχείων (2/2) Βρίσκουμε την ζητούμενη HTTP GET απόκριση και το next sequence number (ή το Stream index) της. 6
HTTP συνέχεια Ανάκτηση μεγάλων αρχείων (2/2) Βρίσκουμε την ζητούμενη HTTP GET απόκριση και το next sequence number (ή το Stream index) της. 6
HTTP συνέχεια Ανάκτηση μεγάλων αρχείων (2/2) Βρίσκουμε την ζητούμενη HTTP GET απόκριση και το next sequence number (ή το Stream index) της. Follow TCP stream. 6
HTTP συνέχεια Ανάκτηση μεγάλων αρχείων (2/2) Βρίσκουμε την ζητούμενη HTTP GET απόκριση και το next sequence number (ή το Stream index) της. Follow TCP stream. 6
HTTP συνέχεια Ανάκτηση μεγάλων αρχείων (2/2) Βρίσκουμε την ζητούμενη HTTP GET απόκριση και το next sequence number (ή το Stream index) της. Follow TCP stream. Βλέπουμε πως η HTTP GET σπάει σε TCP segments. 6
HTTP συνέχεια Ανάκτηση μεγάλων αρχείων (2/2) Βρίσκουμε την ζητούμενη HTTP GET απόκριση και το next sequence number (ή το Stream index) της. Follow TCP stream. Βλέπουμε πως η HTTP GET σπάει σε TCP segments. 6
HTTP συνέχεια Ανάκτηση μεγάλων αρχείων (2/2) Βρίσκουμε την ζητούμενη HTTP GET απόκριση και το next sequence number (ή το Stream index) της. Follow TCP stream. Βλέπουμε πως η HTTP GET σπάει σε TCP segments. 6
HTTP συνέχεια Ανάκτηση μεγάλων αρχείων (2/2) Βρίσκουμε την ζητούμενη HTTP GET απόκριση και το next sequence number (ή το Stream index) της. Follow TCP stream. Βλέπουμε πως η HTTP GET σπάει σε TCP segments. Κάθε TCP segment ή HTTP continuation πακέτο, έχει το ίδιο Stream index και συνεχίζει τη λήψη των δεδομένων από το τέλος του προηγούμενου πακέτου. 6
HTTP συνέχεια Ανάκτηση μεγάλων αρχείων (2/2) Βρίσκουμε την ζητούμενη HTTP GET απόκριση και το next sequence number (ή το Stream index) της. Follow TCP stream. Βλέπουμε πως η HTTP GET σπάει σε TCP segments. Κάθε TCP segment ή HTTP continuation πακέτο, έχει το ίδιο Stream index και συνεχίζει τη λήψη των δεδομένων από το τέλος του προηγούμενου πακέτου. 6
HTTP συνέχεια Ανάκτηση μεγάλων αρχείων (2/2) Βρίσκουμε την ζητούμενη HTTP GET απόκριση και το next sequence number (ή το Stream index) της. Follow TCP stream. Βλέπουμε πως η HTTP GET σπάει σε TCP segments. Κάθε TCP segment ή HTTP continuation πακέτο, έχει το ίδιο Stream index και συνεχίζει τη λήψη των δεδομένων από το τέλος του προηγούμενου πακέτου. 6
HTTP συνέχεια Ανάκτηση μεγάλων αρχείων (2/2) Βρίσκουμε την ζητούμενη HTTP GET απόκριση και το next sequence number (ή το Stream index) της. Follow TCP stream. Βλέπουμε πως η HTTP GET σπάει σε TCP segments. Κάθε TCP segment ή HTTP continuation πακέτο, έχει το ίδιο Stream index και συνεχίζει τη λήψη των δεδομένων από το τέλος του προηγούμενου πακέτου. 6
HTTP συνέχεια Ανάκτηση μεγάλων αρχείων (2/2) Βρίσκουμε την ζητούμενη HTTP GET απόκριση και το next sequence number (ή το Stream index) της. Follow TCP stream. Βλέπουμε πως η HTTP GET σπάει σε TCP segments. Κάθε TCP segment ή HTTP continuation πακέτο, έχει το ίδιο Stream index και συνεχίζει τη λήψη των δεδομένων από το τέλος του προηγούμενου πακέτου. 6
HTTP συνέχεια HTML με ενσωματωμένα αντικείμενα Ανοίξτε το Wireshark και εκκινήστε την καταγραφή traces. Προηγηθείτε στην διεύθυνση: http://gaia.cs.umass.edu/ethereal-labs/http-etherealfile4.html. Μόλις φορτώσει πλήρως η ιστοσελίδα, ανανεώστε τη (F5 refresh), περιμένετε 10 και έπειτα τερματίστε την καταγραφή των traces. Εντοπίστε τις HTTP GET αποκρίσεις. Εντοπίστε τους servers στους οποίους βρίσκονται οι εικόνες που ενσωματώνονται στην σελίδα. Ποιος είναι ο Referer σε κάθε εικόνα; 7
HTTP συνέχεια HTML με ενσωματωμένα αντικείμενα Ανοίξτε το Wireshark και εκκινήστε την καταγραφή traces. Προηγηθείτε στην διεύθυνση: http://gaia.cs.umass.edu/ethereal-labs/http-etherealfile4.html. Μόλις φορτώσει πλήρως η ιστοσελίδα, ανανεώστε τη (F5 refresh), περιμένετε 10 και έπειτα τερματίστε την καταγραφή των traces. Εντοπίστε τις HTTP GET αποκρίσεις. Εντοπίστε τους servers στους οποίους βρίσκονται οι εικόνες που ενσωματώνονται στην σελίδα. Ποιος είναι ο Referer σε κάθε εικόνα; 7
HTTP συνέχεια HTTP Εξουσιοδότηση Διαγράψτε τα προσωρινά αρχεία (cache) του περιηγητή διαδικτύου (browser) στον Η/Υ που χρησιμοποιείται. Ανοίξτε το Wireshark και εκκινήστε την καταγραφή των traces. Προηγηθείτε στην διεύθυνση: http://gaia.cs.umass.edu/ethereallabs/protected_pages/http-ethereal-file5.html. Θα σας ζητήσει Username και Password. Εισάγετε αντιστοίχως: Username: eth-students Password: network Μόλις εισάγετε επιτυχώς τους κωδικούς και φορτώσει πλήρως η ιστοσελίδα, περιμένετε 10 και έπειτα τερματίστε την καταγραφή των traces. Εντοπίστε στην επιτυχή HTTP GET απόκριση της ιστοσελίδας το Authorization string. Είναι κωδικοποιημένο σε μορφή Base64. Πηγαίνετε στην ιστοσελίδα www.base64decode.org και αποκωδικοποιείστε το. Σας θυμίζει κάτι; 8
HTTP συνέχεια HTTP Εξουσιοδότηση Διαγράψτε τα προσωρινά αρχεία (cache) του περιηγητή διαδικτύου (browser) στον Η/Υ που χρησιμοποιείται. Ανοίξτε το Wireshark και εκκινήστε την καταγραφή των traces. Προηγηθείτε στην διεύθυνση: http://gaia.cs.umass.edu/ethereallabs/protected_pages/http-ethereal-file5.html. Θα σας ζητήσει Username και Password. Εισάγετε αντιστοίχως: Username: eth-students Password: network Μόλις εισάγετε επιτυχώς τους κωδικούς και φορτώσει πλήρως η ιστοσελίδα, περιμένετε 10 και έπειτα τερματίστε την καταγραφή των traces. Εντοπίστε στην επιτυχή HTTP GET απόκριση της ιστοσελίδας το Authorization string. Είναι κωδικοποιημένο σε μορφή Base64. Πηγαίνετε στην ιστοσελίδα www.base64decode.org και αποκωδικοποιείστε το. Σας θυμίζει κάτι; 8
HTTP συνέχεια HTTP Εξουσιοδότηση Διαγράψτε τα προσωρινά αρχεία (cache) του περιηγητή διαδικτύου (browser) στον Η/Υ που χρησιμοποιείται. Ανοίξτε το Wireshark και εκκινήστε την καταγραφή των traces. Προηγηθείτε στην διεύθυνση: http://gaia.cs.umass.edu/ethereallabs/protected_pages/http-ethereal-file5.html. Θα σας ζητήσει Username και Password. Εισάγετε αντιστοίχως: Username: eth-students Password: network Μόλις εισάγετε επιτυχώς τους κωδικούς και φορτώσει πλήρως η ιστοσελίδα, περιμένετε 10 και έπειτα τερματίστε την καταγραφή των traces. Εντοπίστε στην επιτυχή HTTP GET απόκριση της ιστοσελίδας το Authorization string. Είναι κωδικοποιημένο σε μορφή Base64. Πηγαίνετε στην ιστοσελίδα www.base64decode.org και αποκωδικοποιείστε το. Σας θυμίζει κάτι; 8
DNS Εισαγωγή (1/3) Domain Name System (DNS) Κάθε μηχάνημα host του Διαδικτύου μπορεί να αναγνωριστεί από την IP διεύθυνσή του, που είναι ένας δυαδικός αριθμός των 32 bits. Το ίδιο το δίκτυο (και συγκεκριμένα το στρώμα διαδικτύου) καταλαβαίνει μόνο τις IP διευθύνσεις. Οι άνθρωποι όμως, μπορούν πιο εύκολα να θυμούνται ονόματα και όχι δυαδικά νούμερα. Για το λόγο αυτό τις περισσότερες φορές τα προγράμματα σπάνια απευθύνονται στους host του Διαδικτύου χρησιμοποιώντας την IP διεύθυνση, αλλά κάνουν χρήση συμβολικών ονομάτων, με την μορφή ακολουθιών ASCII χαρακτήρων. Για την αντιστοίχιση μεταξύ των δυαδικών διευθύνσεων και των διευθύνσεων σε μορφή ASCII χαρακτήρων χρησιμοποιείται ένα πρωτόκολλο του στρώματος εφαρμογών, το DNS (Domain Name System). 9
DNS Εισαγωγή (2/3) ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ DNS είναι ο τηλεφωνικός κατάλογος του διαδικτύου, δηλαδή ο μηχανισμός του διαδικτύου για την αναφορά μέσω ονομάτων σε ό,τι πόρους χρησιμοποιούμε. Μετάφραση ονομάτων σε διευθύνσεις IP και το αντίστροφο Αντιστοίχιση ονομάτων αντικειμένων σε άλλα ονόματα Παγκοσμίως κατανεμημένη, επεκτάσιμη και αξιόπιστη βάση δεδομένων Κατανεμημένη βάση δεδομένων που εφαρμόζεται σε μια ιεραρχία πολλών εξυπηρετητών ονομάτων (name servers) Περιλαμβάνει το χώρο ονομάτων τους εξυπηρετητές μέσω των οποίων γίνεται διαθέσιμος ο χώρος ονομάτων και τους αναλυτές (resolvers) που ερωτούν τους εξυπηρετητές περί του χώρου ονομάτων 10
DNS Εισαγωγή (3/3) ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Τα δεδομένα διατηρούνται τοπικά, αλλά είναι διαθέσιμα παγκοσμίως δεν υπάρχει υπολογιστής με όλη τη βάση DNS Πρωτόκολλο στρώματος εφαρμογών που επιτρέπει σε hosts, routers και name servers να επικοινωνούν για να αναλύσουν (resolve) ονόματα (μεταφράσουν ονόματα σε διεύθυνση) είναι λειτουργία του κορμού του Internet υλοποιείται ως πρωτόκολλο του στρώματος εφαρμογών η πολυπλοκότητα βρίσκεται στο άκρο του δικτύου οι αναζητήσεις DNS γίνονται από οποιοδήποτε μηχάνημα και οποιαδήποτε υπηρεσία τα αποτελέσματα από μακρινούς εξυπηρετητές αποθηκεύονται προσωρινά σε τοπική μνήμη ώστε να βελτιωθεί η επίδοση 11
DNS Ερωτήσεις (1/2) ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Αναδρομικές και επαναληπτικές ερωτήσεις Ο τύπος της ερώτησης καθορίζεται από ένα bit στην επικεφαλίδα της ερώτησης DNS Αναδρομική ερώτηση (Recursive query): Εδώ, ο εξυπηρετητής ονομάτων πρέπει να δώσει την απάντηση στην ερώτηση (ή να στείλει μήνυμα λάθους) Εάν ο εξυπηρετητής ονομάτων δε γνωρίζει την απάντηση, θα ξεκινήσει μια ερώτηση σε άλλο εξυπηρετητή για να τη μάθει Επαναληπτική ερώτηση (Iterative query): Εδώ, ο εξυπηρετητής ονομάτων επιστρέφει την καλύτερη δυνατή του απάντηση: (1) την ακριβή απάντηση ή (2) την παραπομπή σε άλλο εξυπηρετητή Όταν ο εξυπηρετητής ονομάτων δεν έχει την ακριβή απάντηση, απαντά στον αναλυτή με παραπομπή, δηλαδή, με το όνομα ενός άλλου εξυπηρετητή ονομάτων Σημείωση: Οι εξυπηρετητές ρίζας και οι εξυπηρετητές ανωτάτων περιοχών (Top-Level Domain - TLD) είναι ρυθμισμένοι να χειρίζονται μόνο επαναληπτικές ερωτήσεις 12
DNS Ερωτήσεις (2/2) Μορφή ερώτησης (query) και απάντησης (response) Μια ερώτηση DNS έχει τρεις παραμέτρους: Όνομα (Name): όνομα περιοχής ή διεύθυνση IP Είδος ερώτησης (Query type): A, NS, CNAME,MX, Κατηγορία ερώτησης (Query class): 1 για IP Η απάντηση περιλαμβάνει: Domain Name Response type Class (IP) Time to live (in seconds) - TTL Lengthof resource data Resource data ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ 13
DNS Ερωτήσεις (2/2) Μορφή ερώτησης (query) και απάντησης (response) Μια ερώτηση DNS έχει τρεις παραμέτρους: Όνομα (Name): όνομα περιοχής ή διεύθυνση IP Είδος ερώτησης (Query type): A, NS, CNAME,MX, Κατηγορία ερώτησης (Query class): 1 για IP Η απάντηση περιλαμβάνει: Domain Name Response type Class (IP) Time to live (in seconds) - TTL Lengthof resource data Resource data ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Το πεδίο Name είναι το όνομα του host και το πεδίο Value η διεύθυνση IP για το συγκεκριμένο όνομα host. Δηλαδή, οι εγγραφές τύπου Α παρέχουν τη στάνταρ αντιστοιχία μεταξύ ονομάτων host και διευθύνσεων IP. 13
DNS Ερωτήσεις (2/2) Μορφή ερώτησης (query) και απάντησης (response) Μια ερώτηση DNS έχει τρεις παραμέτρους: Όνομα (Name): όνομα περιοχής ή διεύθυνση IP Είδος ερώτησης (Query type): A, NS, CNAME,MX, Κατηγορία ερώτησης (Query class): 1 για IP Η απάντηση περιλαμβάνει: Domain Name Response type Class (IP) Time to live (in seconds) - TTL Lengthof resource data Resource data ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Το πεδίο Name είναι το όνομα του host και το πεδίο Value η διεύθυνση IP για το συγκεκριμένο όνομα host. Δηλαδή, οι εγγραφές τύπου Α παρέχουν τη στάνταρ αντιστοιχία μεταξύ ονομάτων host και διευθύνσεων IP. Το πεδίο Name είναι το όνομα της περιοχής domain (π.χ. unipi.gr) και το πεδίο Value το όνομα του εξυπηρετητή που γνωρίζει πως να ανακτά τις διευθύνσεις IP των host της ίδιας περιοχής. Η εγγραφή αυτή χρησιμοποιείται για τη δρομολόγηση των ερωτήσεων DNS μέσα στην ιεραρχία των δρομολογητών ονομάτων. 13
DNS Ερωτήσεις (2/2) Μορφή ερώτησης (query) και απάντησης (response) Μια ερώτηση DNS έχει τρεις παραμέτρους: Όνομα (Name): όνομα περιοχής ή διεύθυνση IP Είδος ερώτησης (Query type): A, NS, CNAME,MX, Κατηγορία ερώτησης (Query class): 1 για IP Η απάντηση περιλαμβάνει: Domain Name Response type Class (IP) Time to live (in seconds) - TTL Lengthof resource data Resource data ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Το πεδίο Name είναι το όνομα του host και το πεδίο Value η διεύθυνση IP για το συγκεκριμένο όνομα host. Δηλαδή, οι εγγραφές τύπου Α παρέχουν τη στάνταρ αντιστοιχία μεταξύ ονομάτων host και διευθύνσεων IP. Το πεδίο Value είναι το κανονικό όνομα για το ψευδώνυμο Name. Οι εγγραφές αυτές χρησιμεύουν στη δημιουργία ψευδωνύμων για τα ονόματα των host του Διαδικτύου. Το πεδίο Name είναι το όνομα της περιοχής domain (π.χ. unipi.gr) και το πεδίο Value το όνομα του εξυπηρετητή που γνωρίζει πως να ανακτά τις διευθύνσεις IP των host της ίδιας περιοχής. Η εγγραφή αυτή χρησιμοποιείται για τη δρομολόγηση των ερωτήσεων DNS μέσα στην ιεραρχία των δρομολογητών ονομάτων. 13
DNS Ερωτήσεις (2/2) Μορφή ερώτησης (query) και απάντησης (response) Μια ερώτηση DNS έχει τρεις παραμέτρους: Όνομα (Name): όνομα περιοχής ή διεύθυνση IP Είδος ερώτησης (Query type): A, NS, CNAME,MX, Κατηγορία ερώτησης (Query class): 1 για IP Η απάντηση περιλαμβάνει: Domain Name Response type Class (IP) Time to live (in seconds) - TTL Lengthof resource data Resource data ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Το πεδίο Name είναι το όνομα του host και το πεδίο Value η διεύθυνση IP για το συγκεκριμένο όνομα host. Δηλαδή, οι εγγραφές τύπου Α παρέχουν τη στάνταρ αντιστοιχία μεταξύ ονομάτων host και διευθύνσεων IP. Το πεδίο Value είναι το όνομα ενός εξυπηρετητή ταχυδρομείου ο οποίος έχει ψευδώνυμο Name. Οι εγγραφές αυτές επιτρέπουν τα ονόματα των host των εξυπηρετητών ταχυδρομείου να έχουν απλά ψευδώνυμα Το πεδίο Value είναι το κανονικό όνομα για το ψευδώνυμο Name. Οι εγγραφές αυτές χρησιμεύουν στη δημιουργία ψευδωνύμων για τα ονόματα των host του Διαδικτύου. Το πεδίο Name είναι το όνομα της περιοχής domain (π.χ. unipi.gr) και το πεδίο Value το όνομα του εξυπηρετητή που γνωρίζει πως να ανακτά τις διευθύνσεις IP των host της ίδιας περιοχής. Η εγγραφή αυτή χρησιμοποιείται για τη δρομολόγηση των ερωτήσεων DNS μέσα στην ιεραρχία των δρομολογητών ονομάτων. 13
DNS Ερωτήσεις (2/2) Μορφή ερώτησης (query) και απάντησης (response) Μια ερώτηση DNS έχει τρεις παραμέτρους: Όνομα (Name): όνομα περιοχής ή διεύθυνση IP Είδος ερώτησης (Query type): A, NS, CNAME,MX, Κατηγορία ερώτησης (Query class): 1 για IP Η απάντηση περιλαμβάνει: Domain Name Response type Class (IP) Time to live (in seconds) - TTL CS Lengthof resource CH data Resource data ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ IN 1 the Internet 2 the CSNET class 3 the CHAOS class HS 4 Hesiod [Dyer 87] Το πεδίο Name είναι το όνομα του host και το πεδίο Value η διεύθυνση IP για το συγκεκριμένο όνομα host. Δηλαδή, οι εγγραφές τύπου Α παρέχουν τη στάνταρ αντιστοιχία μεταξύ ονομάτων host και διευθύνσεων IP. Το πεδίο Value είναι το όνομα ενός εξυπηρετητή ταχυδρομείου ο οποίος έχει ψευδώνυμο Name. Οι εγγραφές αυτές επιτρέπουν τα ονόματα των host των εξυπηρετητών ταχυδρομείου να έχουν απλά ψευδώνυμα Το πεδίο Value είναι το κανονικό όνομα για το ψευδώνυμο Name. Οι εγγραφές αυτές χρησιμεύουν στη δημιουργία ψευδωνύμων για τα ονόματα των host του Διαδικτύου. Το πεδίο Name είναι το όνομα της περιοχής domain (π.χ. unipi.gr) και το πεδίο Value το όνομα του εξυπηρετητή που γνωρίζει πως να ανακτά τις διευθύνσεις IP των host της ίδιας περιοχής. Η εγγραφή αυτή χρησιμοποιείται για τη δρομολόγηση των ερωτήσεων DNS μέσα στην ιεραρχία των δρομολογητών ονομάτων. 13
DNS Μηνύματα (1/2) ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Ερωτήσεις και απαντήσεις, με την ίδια μορφή μηνύματος επικεφαλίδα ταυτότητα: αριθμός 16 bit για την ερώτηση, η απάντηση χρησιμοποιεί τον ίδιο αριθμό σημαίες: ερώτηση ή απάντηση επιθυμητή αναδρομή διαθέσιμη αναδρομή η απάντηση είναι επίσημη 14
DNS Μηνύματα (1/2) ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Ερωτήσεις και απαντήσεις, με την ίδια μορφή μηνύματος επικεφαλίδα ταυτότητα: αριθμός 16 bit για την ερώτηση, η απάντηση χρησιμοποιεί τον ίδιο αριθμό σημαίες: ερώτηση ή απάντηση επιθυμητή αναδρομή διαθέσιμη αναδρομή η απάντηση είναι επίσημη 14
DNS Μηνύματα (2/2) Σημαίες μηνύματος QR: Query=0, Response=1 AA: Authoritative Answer TC: response truncated (> 512 bytes) RD: recursion desired RA: recursion available rcode: return code ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ 15
DNS Παράδειγμα ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ 16
FTP Εισαγωγή (1/2) File Transfer Protocol (FTP) Το FTP είναι ένα πρωτόκολλο επιπέδου εφαρμογής και χρησιμοποιείται για μεταφορά αρχείων σε τοπικά δίκτυα ή στο διαδίκτυο. Κάθε δημιουργία σύνδεσης με χρήση του FTP απαιτεί πρώτα εισαγωγή της FTP διεύθυνσης του ftp server µε αποτέλεσμα η FTP διαδικασία πελάτη στον τοπικό υπολογιστή να εγκαθιστά µία σύνδεση TCP µε τον εξυπηρετητή FTP στον απομακρυσμένο υπολογιστή. Τότε ο χρήστης παρέχει το username και το password, τα οποία στέλνονται µέσω της σύνδεσης TCP ως µέρος εντολών FTP. Μετά την πιστοποίηση του χρήστη από τον εξυπηρετητή, ο χρήστης µπορεί να αντιγράψει ή να µετακινήσει ένα ή περισσότερα αρχεία από το τοπικό του σύστηµα αρχείων προς το αποµακρυσµένο σύστηµα αρχείων, και αντιστρόφως. 17
FTP Εισαγωγή (2/2) ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Το FTP χρησιµοποιεί δύο παράλληλες συνδέσεις TCP για την µεταφορά ενός αρχείου: µία σύνδεση ελέγχου (control connection) και µία σύνδεση δεδοµένων (data connection). Η σύνδεση ελέγχου χρησιµοποιείται για την µεταφορά πληροφοριών ελέγχου µεταξύ των δύο υπολογιστών, πληροφορίες όπως το όνοµα χρήστη (username), τον κωδικό, για την αλλαγή του αποµακρυσµένου καταλόγου και εντολές για την ανάκτηση (get) ή καταχώρηση (put) αρχείων. Η σύνδεση δεδοµένων χρησιµοποιείται για την πραγµατική µεταφορά του αρχείου. Εξαιτίας της ύπαρξης δύο TCP συνδέσεων, λέµε ότι το FTP µεταφέρει την πληροφορία ελέγχου εκτός ζώνης (out-of-band). ACTIVE FTP: Controlconnection port: 21 Data connection port: 20 PassiveFTP: Control connection port: 21 Data connection port: random >1023 Περισσότερες πληροφορίες: RFC959, προδιαγραφές FTP, χρήσιμο LINK. 18
FTP Εισαγωγή (2/2) ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Το FTP χρησιµοποιεί δύο παράλληλες συνδέσεις TCP για την µεταφορά ενός αρχείου: µία σύνδεση ελέγχου (control connection) και µία σύνδεση δεδοµένων (data connection). Η σύνδεση ελέγχου χρησιµοποιείται για την µεταφορά πληροφοριών ελέγχου µεταξύ των δύο υπολογιστών, πληροφορίες όπως το όνοµα χρήστη (username), τον κωδικό, για την αλλαγή του αποµακρυσµένου καταλόγου και εντολές για την ανάκτηση (get) ή καταχώρηση (put) αρχείων. Η σύνδεση δεδοµένων χρησιµοποιείται για την πραγµατική µεταφορά του αρχείου. Εξαιτίας της ύπαρξης δύο TCP συνδέσεων, λέµε ότι το FTP µεταφέρει την πληροφορία ελέγχου εκτός ζώνης (out-of-band). ACTIVE FTP: Controlconnection port: 21 Data connection port: 20 PassiveFTP: Control connection port: 21 Data connection port: random >1023 Περισσότερες πληροφορίες: RFC959, προδιαγραφές FTP, χρήσιμο LINK. 18
FTP Εισαγωγή (2/2) ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Το FTP χρησιµοποιεί δύο παράλληλες συνδέσεις TCP για την µεταφορά ενός αρχείου: µία σύνδεση ελέγχου (control connection) και µία σύνδεση δεδοµένων (data connection). Η σύνδεση ελέγχου χρησιµοποιείται για την µεταφορά πληροφοριών ελέγχου µεταξύ των δύο υπολογιστών, πληροφορίες όπως το όνοµα χρήστη (username), τον κωδικό, για την αλλαγή του αποµακρυσµένου καταλόγου και εντολές για την ανάκτηση (get) ή καταχώρηση (put) αρχείων. Η σύνδεση δεδοµένων χρησιµοποιείται για την πραγµατική µεταφορά του αρχείου. Εξαιτίας της ύπαρξης δύο TCP συνδέσεων, λέµε ότι το FTP µεταφέρει την πληροφορία ελέγχου εκτός ζώνης (out-of-band). ACTIVE FTP: Controlconnection port: 21 Data connection port: 20 PassiveFTP: Control connection port: 21 Data connection port: random >1023 Περισσότερες πληροφορίες: RFC959, προδιαγραφές FTP, χρήσιμο LINK. 18
FTP Οδηγίες χρήσης Για να πλοηγηθούμε σε έναν FTP server μέσω ενός πλοηγού διαδικτύου, εισάγουμε στην μπάρα διευθύνσεων την διεύθυνση του FTP server, π.χ. ftp://ftp.ntua.gr Οι περισσότεροι πλοηγοί ιστού διαθέτουν τη δυνατότητα FTP και την ενεργοποιούν για διευθύνσεις URI που αρχίζουν με ftp:// (αντί για http://). Επίσης μπορείτε με χρήση του προγράμματος φλοιού FTP (παράθυρο γραμμής εντολών, cli), όπως ακολούθως: C:\Windows\system32>ftp -d ftp.ntua.gr (το flag d δεν είναι υποχρεωτικό, απλά ενεργοποιεί την αποσφαλμάτωση κατά την πλοήγηση στον FTP server). Χρήσιμες εντολές (cli): ls, help, remotehelp, status, bye 19
FTP Οδηγίες χρήσης Για να πλοηγηθούμε σε έναν FTP server μέσω ενός πλοηγού διαδικτύου, εισάγουμε στην μπάρα διευθύνσεων την διεύθυνση του FTP server, π.χ. ftp://ftp.ntua.gr Οι περισσότεροι πλοηγοί ιστού διαθέτουν τη δυνατότητα FTP και την ενεργοποιούν για διευθύνσεις URI που αρχίζουν με ftp:// (αντί για http://). Επίσης μπορείτε με χρήση του προγράμματος φλοιού FTP (παράθυρο γραμμής εντολών, cli), όπως ακολούθως: C:\Windows\system32>ftp -d ftp.ntua.gr (το flag d δεν είναι υποχρεωτικό, απλά ενεργοποιεί την αποσφαλμάτωση κατά την πλοήγηση στον FTP server). Χρήσιμες εντολές (cli): ls, help, remotehelp, status, bye 19
FTP Παραδείγματα ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ 20
21