Analýza HTTP pomocou Wireshark

Http Analysis Using Wireshark



Čo je to HTTP?

Prvá je úplná forma HTTP HyperText Transfer Protocol. HTTP je protokol aplikačnej vrstvy v ISO alebo TCP/IP modeli. Na nasledujúcom obrázku nájdete HTTP, ktoré sa nachádza pod aplikačnou vrstvou.







HTTP používa World Wide Web (w.w.w) a definuje, ako sú správy formátované a prenášané prehliadačom. HTTP definuje teda, aké opatrenia je potrebné vykonať, keď prehliadač dostane príkaz HTTP. HTTP tiež definuje pravidlá pre prenos príkazu HTTP na získanie údajov zo servera.



Napríklad, keď zadáte adresu URL do prehliadača (Internet Explorer, Chrome, Firefox, Safari atď.), V skutočnosti odošle príkaz HTTP na server. A server odpovie príkazom appropiate.



Metódy HTTP:

Existuje niekoľko metód pre HTTP/1.1 (toto je verzia HTTP)





ZÍSKAJTE, HLAVU, POST, VLOŽTE, ODSTRÁNIŤ, PRIPOJIŤ, MOŽNOSŤ a VYSledovať.

Nebudeme sa podrobne zaoberať každou metódou, namiesto toho sa zoznámime s metódami, ktoré sa vyskytujú pomerne často. Ako napr



ZÍSKAŤ: Požiadavka GET požaduje údaje z webového servera. Toto je hlavná metóda používaná pri návrate dokumentov. Uvidíme jeden praktický príklad tejto metódy.

POST: Metóda POST sa používa vtedy, keď je potrebné odoslať niektoré údaje na server.

HTTP je Wiresahark:

Skúsime niečo praktické, aby sme pochopili, ako HTTP funguje?

V tomto prípade teda stiahneme alice.txt (Dátový súbor prítomný na serveri) od gaia.cs.umass.edu server.

Nastavenia:

  1. Otvorte URL http://gaia.cs.umass.edu/wireshark-labs/alice.txt [Poznáme úplnú adresu URL na stiahnutie alice.txt] v počítačovom prehliadači.
  2. Teraz vidíme stiahnutý súbor v prehliadači. Tu je snímka obrazovky

  1. Paralelne sme zachytili pakety vo Wireshark.

Výmena paketov HTTP vo Wireshark:

Než sa pustíme do HTTP, mali by sme vedieť, že HTTP používa protokol 80 a TCP ako protokol transportnej vrstvy [TCP vysvetlíme v ďalšej diskusii na tému].

Teraz sa pozrime, čo sa stane v sieti, keď zadáme túto adresu URL a v prehliadači stlačíme kláves Enter.

Tu je snímka obrazovky pre

TCP 3-way handshake ——-> HTTP OK ——-> TCP Data [content of alice.txt] ——->

HTTP-OK

Teraz sa pozrime, čo je v paketoch HTTP GET a HTTP OK.

Poznámka: Výmeny TCP vysvetlíme v ďalšej diskusii na tému.

ZÍSKAJTE HTTP:

Po dokončení 3-cestného handshake TCP [pakety SYN, SYN+ACK a ACK] sa na server odošle požiadavka HTTP GET a tu sú dôležité polia v pakete.

1. Spôsob žiadosti: ZÍSKAJTE ==> Paket je HTTP GET.

2. Požiadajte o identifikátor URI: /wireshark-labs/alice.txt ==> Klient požaduje súbor alice.txt prítomný v /Wireshark-labs

3. Požadovaná verzia: HTTP/1.1 ==> Je to verzia HTTP 1.1

4. Prijať: text/html, aplikácia/xhtml+xml, obrázok/jxr, */ * ==> Informuje server o type súboru, ktorý [prehliadač na strane klienta] môže prijať. Tu klient očakáva alice.txt, čo je textový typ.

5. Jazyk prijatia: sk-USA ==> Akceptovaný jazykový štandard.

6. Užívateľ-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv: 11.0) ako Gecko ==> Typ prehliadača na strane klienta. Aj keď sme použili internet explorer, ale vidíme ho vždy/maximálny čas, hovorí Mozilla

7. Kódovanie prijatia: gzip, deflovať ==> Prijateľné kódovanie na strane klienta.

8. Hostiteľ: gaia.cs.umass.edu ==> Toto je názov webového servera, na ktorý klient odosiela požiadavku HTTP GET.

9. Pripojenie: Keep-Alive ==> Pripojenie určuje, či zostane sieťové pripojenie otvorené aj po dokončení aktuálnej transakcie. Typ pripojenia je zachovaný.

Tu je snímka obrazovky pre polia paketov HTTP-GET

HTTP v poriadku:

Po úspešnom odoslaní údajov TCP [obsah alice.txt] sa klientovi odošle HTTP OK a tu sú dôležité polia v pakete.
1. Verzia odpovede: HTTP / 1.1 ==> Server je tu aj vo verzii HTTP 1.1
2. Stavový kód: 200 ==> Stavový kód odoslaný serverom.
3. Fráza odpovede: OK ==> Frázu odpovede odoslal server.

Takže z 2 a 3 dostaneme 200 OK, čo znamená, že požiadavka [HTTP GET] bola úspešná.

4. Dátum: Ne, 10. februára 2019 06:24:19 GMT ==> Aktuálny dátum a čas v GMT, keď server prijal 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 ==> Verzie serverových podrobností a konfigurácií.
6. Posledná úprava : So, 21. augusta 2004 14:21:11 GMT ==> Dátum a čas poslednej zmeny súboru alice.txt.
7. ETag: 2524a-3e22aba3a03c0 ==> ETag uvádza, že obsah nie je zmenený, aby pomáhal ukladaniu do vyrovnávacej pamäte a zlepšoval výkon. Alebo ak sa obsah zmenil, sú etagy užitočné, aby zabránili vzájomnému prepísaniu súbežných aktualizácií zdroja.
8. Rozsahy akceptovania: bajty ==> Bajt je jednotka používaná na serveri pre obsah.
9. Dĺžka obsahu: 152138 ==> Toto je celková dĺžka súboru alice.txt v bajtoch.
10. Keep-Alive: časový limit = 5, max = 100 ==> Parametre udržiavajte nažive.
11. Pripojenie: Udržať nažive ==> Pripojenie určuje, či zostane sieťové pripojenie otvorené aj po dokončení aktuálnej transakcie. Typ pripojenia je zachovaný.
12. Typ obsahu: text/obyčajný; znaková sada = UTF-8 ==> Typ obsahu [alice.txt] je text a charset je UTF-8.

Tu je snímka obrazovky pre rôzne polia paketu HTTP OK.

Teraz vieme, čo sa stane, keď požiadame o akýkoľvek súbor, ktorý sa nachádza na webovom serveri.

Záver:

HTTP je jednoduchý aplikačný protokol, ktorý používame každý deň v živote. Nie je to však bezpečné, takže bol implementovaný protokol HTTPS. To S znamená bezpečné. Preto maximálny názov webového servera začína na http s: // [websitename] . To znamená, že všetka komunikácia medzi vami a serverom je šifrovaná. O tomto HTTPS budeme mať v budúcnosti samostatnú diskusiu.