HTTP analiza pomoću Wiresharka

Http Analysis Using Wireshark



Što je HTTP?

Prvo, cijeli puni oblik HTTP -a je HyperText Transfer Protocol. HTTP je protokol aplikacijskog sloja u ISO ili TCP/IP modelu. Na donjoj slici saznajte HTTP koji se nalazi ispod aplikacijskog sloja.







HTTP koristi World Wide Web (w.w.w) i definira način na koji se poruke oblikuju i prenose putem preglednika. Dakle, HTTP definira reules koje radnje treba poduzeti kada preglednik primi HTTP naredbu. Također, HTTP definira pravila za prijenos HTTP naredbe za dobivanje podataka s poslužitelja.



Na primjer, kada u preglednik unesete url (Internet explorer, Chrome, Firefox, Safari itd.) On zapravo šalje HTTP naredbu poslužitelju. I poslužitelj odgovara odgovarajućom naredbom.



HTTP metode:

Postoji nekoliko metoda za HTTP/1.1 (ovo je HTTP verzija)





GET, HEAD, POST, PUT, DELETE, CONNECT, OPTION i TRACE.

Nećemo ulaziti u detalje svake metode, već ćemo se upoznati s metodama koje se često pojavljuju



DOBITI: GET zahtjev traži podatke s web poslužitelja. Ovo je glavna metoda koja se koristi za obnavljanje dokumenata. Vidjet ćemo jedan praktičan primjer ove metode.

OBJAVA: POST metoda se koristi kada je potrebno poslati neke podatke na poslužitelj.

HTTP je Wiresahark:

Pokušajmo nešto praktično razumjeti kako HTTP radi?

Stoga ćemo u ovom primjeru preuzeti alice.txt (Datoteka podataka prisutna na poslužitelju) iz gaia.cs.umass.edu poslužitelja.

Postavke:

  1. Otvorite URL http://gaia.cs.umass.edu/wireshark-labs/alice.txt [Znamo cijeli URL za preuzimanje alice.txt] u računalnom pregledniku.
  2. Sada vidimo preuzetu datoteku u pregledniku. Evo snimke zaslona

  1. Paralelno imamo hvatanje paketa u Wiresharku.

Razmjena HTTP paketa u Wiresharku:

Prije nego što pređemo na HTTP, trebali bismo znati da HTTP koristi port 80 i TCP kao protokol transportnog sloja [TCP ćemo objasniti u drugoj raspravi o temi].

Sada da vidimo što se događa na mreži kada stavimo taj URL i pritisnemo enter u pregledniku.

Evo snimke zaslona za

TCP trosmjerno rukovanje ——-> HTTP u redu ——-> TCP podaci [sadržaj datoteke alice.txt] ——->

HTTP-U redu

Pogledajmo sada što se nalazi unutar HTTP GET i HTTP OK paketa.

Napomena: TCP razmjene ćemo objasniti u drugoj raspravi o temi.

HTTP DOBI:

Nakon što se obavi TCP trosmjerno rukovanje [SYN, SYN+ACK i ACK paketi] HTTP GET zahtjev se šalje poslužitelju, a ovdje su važna polja u paketu.

1. Metoda zahtjeva: DOBIJI ==> Paket je HTTP GET.

2. URI zahtjeva: /wireshark-labs/alice.txt ==> Klijent traži datoteku alice.txt koja se nalazi pod /Wireshark-labs

3. Zatražite verziju: HTTP/1.1 ==> To je HTTP verzija 1.1

4. Prihvati: text/html, application/xhtml+xml, image/jxr, */ * ==> Govori poslužitelju o vrsti datoteke koju [preglednik na strani klijenta] može prihvatiti. Ovdje klijent očekuje datoteku alice.txt koja je tekstualna.

5. Prihvati jezik: hr-SAD ==> Prihvaćeni jezični standard.

6. Korisnički agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv: 11.0) poput Gecko ==> Vrsta preglednika na strani klijenta. Čak i ako smo koristili Internet Explorer, ali to vidimo uvijek/maksimalno vrijeme, kaže Mozilla

7. Prihvati-kodiranje: gzip, ispuhati ==> Prihvaćeno kodiranje na strani klijenta.

8. Domaćin: gaia.cs.umass.edu ==> Ovo je naziv web poslužitelja na koji klijent šalje HTTP GET zahtjev.

9.Povezivanje: Keep-Alive ==> Povezivanje kontrolira ostaje li mrežna veza otvorena nakon završetka trenutne transakcije. Vrsta veze je živa.

Evo snimke zaslona za polja paketa HTTP-GET

HTTP je u redu:

Nakon uspješno poslanih TCP podataka [sadržaj alice.txt] HTTP OK se šalje klijentu, a ovdje su važna polja u paketu.
1. Verzija odgovora: HTTP / 1.1 ==> Ovdje poslužitelj također u HTTP verziji 1.1
2. Statusni kod: 200 ==> Statusni kod poslao poslužitelj.
3. Fraza odgovora: u redu ==> Odgovor je poslao poslužitelj.

Tako od 2 i 3 dobivamo 200 OK što znači da je zahtjev [HTTP GET] uspio.

4. Datum: Ned, 10. veljače 2019 06:24:19 GMT ==> Trenutni datum, vrijeme u GMT -u kada je poslužitelj primio HTTP GET.
5.Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16 mod_perl/2.0.10 Perl/v5.16.3 ==> Podaci o poslužitelju i verzije konfiguracija.
6. Zadnja izmjena : Sat, 21. kolovoza 2004 14:21:11 GMT ==> Datum i vrijeme posljednje izmjene datoteke alice.txt.
7.Oznaka: 2524a-3e22aba3a03c0 ==> ETag označava da se sadržaj ne mijenja kako bi se pomoglo predmemoriranju i poboljšale performanse. Ili, ako se sadržaj promijenio, etagovi su korisni kako bi spriječili da se istovremena ažuriranja resursa prepišu.
8. Accept-Ranges: bajtovi ==> Bajt je jedinica koja se koristi na poslužitelju za sadržaj.
9.Content-Length: 152138 ==> Ovo je ukupna duljina datoteke alice.txt u bajtovima.
10. Ostanite živi: timeout = 5, max = 100 ==> Održavajte parametre na životu.
11.Povezivanje: Držati na životu ==> Veza kontrolira ostaje li mrežna veza otvorena nakon završetka trenutne transakcije. Vrsta veze je živa.
12. Vrsta sadržaja: tekst/običan; charset = UTF-8 ==> Vrsta sadržaja [alice.txt] je tekst, a standard znakova je UTF-8.

Evo snimke zaslona za različita polja HTTP OK paketa.

Dakle, sada znamo što se događa kada zatražimo bilo koju datoteku koja je prisutna na web poslužitelju.

Zaključak:

HTTP je jednostavan aplikacijski protokol koji svakodnevno koristimo u životu. Ali nije sigurno pa je HTTPS implementiran. To S označava sigurno. Zato tako maksimalni naziv web poslužitelja počinje s http s: // [naziv web stranice] . To znači da je sva komunikacija između vas i poslužitelja šifrirana. U budućnosti ćemo imati zasebnu raspravu o ovom HTTPS -u.