Ανάλυση HTTP χρησιμοποιώντας το Wireshark

Http Analysis Using Wireshark



Τι είναι το HTTP;

Πρώτα απ 'όλα, η πλήρης μορφή του HTTP είναι το HyperText Transfer Protocol. Το HTTP είναι ένα πρωτόκολλο επιπέδου εφαρμογής σε μοντέλο ISO ή TCP/IP. Δείτε την παρακάτω εικόνα για να μάθετε το HTTP που βρίσκεται κάτω από το επίπεδο εφαρμογής.







Το HTTP χρησιμοποιείται από το Παγκόσμιος Ιστός (w.w.w) και καθορίζει τον τρόπο μορφοποίησης και μετάδοσης των μηνυμάτων από το πρόγραμμα περιήγησης. Επομένως, ο ορισμός του HTTP καθορίζει τους κανόνες για τις ενέργειες που πρέπει να ληφθούν όταν ένα πρόγραμμα περιήγησης λαμβάνει εντολή HTTP. Επίσης, το HTTP καθορίζει κανόνες για τη μετάδοση εντολών HTTP για λήψη δεδομένων από το διακομιστή.



Για παράδειγμα, όταν εισάγετε ένα url στο πρόγραμμα περιήγησης (Internet Explorer, Chrome, Firefox, Safari κ.λπ.) στέλνει πραγματικά μια εντολή HTTP στο διακομιστή. Και ο διακομιστής απαντά με την κατάλληλη εντολή.



Μέθοδοι HTTP:

Υπάρχουν ορισμένες μέθοδοι για το HTTP/1.1 (Αυτή είναι η έκδοση HTTP)





ΛΗETΗ, ΚΕΦΑΛΗ, ΑΝΑΡΤΗΣΗ, ΒΑΛΗ, ΔΙΑΓΡΑΦΗ, ΣΥΝΔΕΣΗ, ΕΠΙΛΟΓΗ και ΙΧΝΗ.

Δεν θα αναφερθούμε σε λεπτομέρειες για κάθε μέθοδο, αλλά θα γνωρίσουμε τις μεθόδους που εμφανίζονται αρκετά συχνά. Όπως



ΠΑΙΡΝΩ: Το αίτημα GET ζητά δεδομένα από τον διακομιστή ιστού. Αυτή είναι μια κύρια μέθοδος που χρησιμοποιείται ανάκτηση εγγράφων. Θα δούμε ένα πρακτικό παράδειγμα αυτής της μεθόδου.

ΘΕΣΗ: Η μέθοδος POST χρησιμοποιείται όταν απαιτείται η αποστολή δεδομένων στον διακομιστή.

Το HTTP είναι Wiresahark:

Ας δοκιμάσουμε κάτι πρακτικό για να καταλάβουμε πώς λειτουργεί το HTTP;

Σε αυτό το παράδειγμα λοιπόν θα κατεβάσουμε alice.txt (Αρχείο δεδομένων που υπάρχει στο διακομιστή) από gaia.cs.umass.edu υπηρέτης.

Ρυθμίσεις:

  1. Ανοίξτε τη διεύθυνση URL http://gaia.cs.umass.edu/wireshark-labs/alice.txt [Γνωρίζουμε το πλήρες url για τη λήψη του alice.txt] στο πρόγραμμα περιήγησης υπολογιστή.
  2. Τώρα βλέπουμε το ληφθέν αρχείο στο πρόγραμμα περιήγησης. Εδώ είναι το στιγμιότυπο οθόνης

  1. Παράλληλα έχουμε καταγράψει τα πακέτα στο Wireshark.

Ανταλλαγές πακέτων HTTP στο Wireshark:

Πριν προχωρήσουμε στο HTTP πρέπει να γνωρίζουμε ότι το HTTP χρησιμοποιεί τη θύρα 80 και το TCP ως πρωτόκολλο επιπέδου μεταφοράς [Θα εξηγήσουμε το TCP σε άλλη συζήτηση θέματος].

Τώρα ας δούμε τι συμβαίνει στο δίκτυο όταν βάζουμε αυτό το URL και πατάμε enter στο πρόγραμμα περιήγησης.

Εδώ είναι το στιγμιότυπο οθόνης για

Τριπλή χειραψία TCP ——-> HTTP OK ——-> Δεδομένα TCP [περιεχόμενο της alice.txt] ——->

HTTP-OK

Τώρα ας δούμε τι υπάρχει μέσα στα πακέτα HTTP GET και HTTP OK.

Σημείωση: Θα εξηγήσουμε τις ανταλλαγές TCP σε άλλη συζήτηση θέματος.

HTTP GET:

Αφού ολοκληρωθεί η χειραψία TCP 3 κατευθύνσεων [πακέτα SYN, SYN+ACK και ACK], το HTTP GET αποστέλλεται στον διακομιστή και εδώ είναι τα σημαντικά πεδία του πακέτου.

1. Μέθοδος αίτησης: GET ==> Το πακέτο είναι HTTP GET.

2. Ζητήστε URI: /wireshark-labs/alice.txt ==> Ο πελάτης ζητά το αρχείο alice.txt που βρίσκεται στο /Wireshark-labs

3. Έκδοση αιτήματος: HTTP/1.1 ==> Είναι η έκδοση HTTP 1.1

4. Αποδοχή: text/html, application/xhtml+xml, image/jxr, */ * ==> Ενημερώνει τον διακομιστή για τον τύπο αρχείου που μπορεί να αποδεχτεί το [πρόγραμμα περιήγησης πελάτη]. Εδώ ο πελάτης περιμένει το alice.txt που είναι τύπος κειμένου.

5. Γλώσσα αποδοχής: el-US ==> Αποδεκτό πρότυπο γλώσσας.

6. Χρήστης-πράκτορας: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv: 11.0) όπως το Gecko ==> Τύπος προγράμματος περιήγησης από την πλευρά του πελάτη. Ακόμα κι αν χρησιμοποιήσαμε τον Internet Explorer αλλά το βλέπουμε πάντα/μέγιστος χρόνος λέει ο Mozilla

7. Αποδοχή-κωδικοποίηση: gzip, ξεφουσκώνω ==> Αποδεκτή κωδικοποίηση στην πλευρά του πελάτη.

8. Διοργανωτής: gaia.cs.umass.edu ==> Αυτό είναι το όνομα του διακομιστή ιστού όπου ο πελάτης στέλνει αίτημα HTTP GET.

9. Σύνδεση: Keep-Alive ==> Η σύνδεση ελέγχει εάν η σύνδεση δικτύου παραμένει ανοιχτή μετά την ολοκλήρωση της τρέχουσας συναλλαγής. Ο τύπος σύνδεσης διατηρείται ζωντανός.

Εδώ είναι το στιγμιότυπο οθόνης για τα πεδία πακέτων HTTP-GET

HTTP OK:

Μετά την αποστολή των δεδομένων TCP [περιεχόμενο του alice.txt] με επιτυχία, το HTTP OK αποστέλλεται στον πελάτη και εδώ είναι τα σημαντικά πεδία του πακέτου.
1. Έκδοση απόκρισης: HTTP / 1.1 ==>> Εδώ διακομιστής επίσης στην έκδοση HTTP 1.1
2. Κωδικός κατάστασης: 200 ==> Ο κωδικός κατάστασης αποστέλλεται από διακομιστή.
3. Φράση απάντησης: Εντάξει ==> Η φράση απάντησης στάλθηκε από τον διακομιστή.

Έτσι από το 2 και το 3 παίρνουμε 200 ΟΚ που σημαίνει ότι το αίτημα [HTTP GET] πέτυχε.

4. Ημερομηνία: Κυρ, 10 Φεβρουαρίου 2019 06:24:19 GMT ==> Τρέχουσα ημερομηνία, ώρα σε GMT όταν το HTTP GET ελήφθη από τον διακομιστή.
5. Διακομιστής: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16 mod_perl/2.0.10 Perl/v5.16.3 ==> Εκδόσεις διακομιστή και λεπτομέρειες.
6. Τελευταία τροποποίηση : Σάββατο, 21 Αυγούστου 2004 14:21:11 GMT ==> Τελευταία τροποποιημένη ημερομηνία και ώρα για το αρχείο alice.txt.
7.Ετικέτα: 2524a-3e22aba3a03c0 ==> Το ETag υποδεικνύει ότι το περιεχόμενο δεν αλλάζει για να βοηθήσει στην προσωρινή αποθήκευση και να βελτιώσει την απόδοση. Or εάν το περιεχόμενο έχει αλλάξει, τα etags είναι χρήσιμα για να αποτρέψουν την ταυτόχρονη ενημέρωση ενός πόρου από την αντικατάσταση του άλλου.
8. Αποδοχή-Εύρος: bytes ==> Byte είναι η μονάδα που χρησιμοποιείται στο διακομιστή για περιεχόμενο.
9. Περιεχόμενο-Μήκος: 152138 ==> Αυτό είναι το συνολικό μήκος του alice.txt σε byte.
10. Keep-Alive: timeout = 5, max = 100 ==> Διατηρήστε ζωντανές τις παραμέτρους.
11. Σύνδεση: Κρατήσει ζωντανή ==> Η σύνδεση ελέγχει εάν η σύνδεση δικτύου παραμένει ανοιχτή μετά την ολοκλήρωση της τρέχουσας συναλλαγής. Ο τύπος σύνδεσης διατηρείται ζωντανός.
12. Περιεχόμενο-Τύπος: κείμενο/απλό? charset = UTF-8 ==> Ο τύπος περιεχομένου [alice.txt] είναι κείμενο και το πρότυπο χαρακτήρα είναι UTF-8.

Ακολουθεί το στιγμιότυπο οθόνης για διαφορετικά πεδία του πακέτου HTTP OK.

Έτσι, τώρα γνωρίζουμε τι συμβαίνει όταν ζητάμε οποιοδήποτε αρχείο υπάρχει στον διακομιστή ιστού.

Συμπέρασμα:

Το HTTP είναι ένα απλό πρωτόκολλο εφαρμογής που χρησιμοποιούμε καθημερινά στη ζωή μας. Αλλά δεν είναι ασφαλές, επομένως το HTTPS έχει εφαρμοστεί. Αυτό το S σημαίνει ασφαλές. Αυτός είναι ο λόγος για τον οποίο το μέγιστο όνομα διακομιστή ιστού ξεκινά με http s: // [όνομα ιστότοπου] Το Αυτό σημαίνει ότι όλη η επικοινωνία μεταξύ εσάς και του διακομιστή είναι κρυπτογραφημένη. Θα έχουμε ξεχωριστή συζήτηση για αυτό το HTTPS στο μέλλον.