Pagsusuri sa HTTP gamit ang Wireshark

Http Analysis Using Wireshark



Ano ang HTTP?

Una ay ang buong porma ng HTTP ay HyperText Transfer Protocol. Ang HTTP ay isang application layer protokol sa modelo ng ISO o TCP / IP. Tingnan sa ibaba ang larawan upang malaman ang HTTP na naninirahan sa ilalim ng layer ng application.







Ang HTTP ay ginagamit ng World Wide Web (w.w.w) at tinutukoy nito kung paano nai-format at naihahatid ng mga browser ang mga mensahe. Kaya't tinutukoy ng HTTP ang mga reule kung anong aksyon ang dapat gawin kapag natanggap ng isang browser ang HTTP command. At tinukoy din ng HTTP ang mga patakaran para sa paglilipat ng HTTP utos upang makakuha ng data mula sa server.



Halimbawa, kapag nagpasok ka ng isang url sa browser (Internet explorer, Chrome, Firefox, Safari atbp) talagang nagpapadala ito ng isang utos na HTTP sa server. At ang mga server ay tumugon sa utos ng apopiate.



Mga Pamamaraan ng HTTP:

Mayroong ilang mga hanay ng mga pamamaraan para sa HTTP / 1.1 (Ito ang bersyon ng HTTP)





GET, HEAD, POST, PUT, Delete, CONNECT, OPTION at TRACE.

Hindi kami pupunta sa mga detalye ng bawat pamamaraan sa halip ay malalaman namin ang tungkol sa mga pamamaraan na nakikita nang madalas. Tulad ng



GET: Humiling ang humiling ng data mula sa web server. Ito ay isang pangunahing pamamaraan na ginamit ang retrival ng dokumento. Makikita natin ang isang praktikal na halimbawa ng pamamaraang ito.

POST: Ginagamit ang pamamaraang POST kapag kinakailangan upang magpadala ng ilang data sa server.

Ang HTTP ay Wiresahark:

Subukan natin ang isang praktikal na bagay upang maunawaan kung paano gumagana ang HTTP?

Kaya sa halimbawang ito mag-download kami alice.txt (Data file na naroroon sa server) mula sa gaia.cs.umass.edu server

Mga Setting:

  1. Buksan ang URL http://gaia.cs.umass.edu/wireshark-labs/alice.txt [Alam namin ang buong url para sa pag-download ng alice.txt] sa computer browser.
  2. Ngayon nakikita namin ang na-download na file sa browser. Narito ang screenshot

  1. Sa kahanay nakuha namin ang mga packet sa Wireshark.

Mga palitan ng HTTP packet sa Wireshark:

Bago kami pumunta sa HTTP dapat nating malaman na ang HTTP ay gumagamit ng port 80 at TCP bilang transport layer protokol [Ipapaliwanag namin ang TCP sa isa pang talakayan sa paksa].

Tingnan natin ngayon kung ano ang nangyayari sa network kapag inilagay natin ang URL na iyon at pinindot ang enter sa browser.

Narito ang screenshot para sa

3-way handshake ng TCP ——-> HTTP OK ——-> Data ng TCP [nilalaman ng alice.txt] ——->

HTTP-OK

Tingnan natin ngayon kung ano ang nasa loob ng mga HTTP GET at HTTP OK packet.

Tandaan: Ipapaliwanag namin ang mga palitan ng TCP sa isa pang talakayan sa paksa.

HTTP GET:

Matapos ang TCP 3-way handshake [SYN, SYN + ACK at ACK packets] ay tapos na HTTP GET kahilingan ay ipinadala sa server at narito ang mga mahahalagang patlang sa packet.

1. Paraan ng Kahilingan: KUMUHA ==> Ang packet ay isang HTTP GET.

2. Humiling ng URI: /wireshark-labs/alice.txt ==> Humihingi ang kliyente ng file alice.txt na nasa ilalim ng / Wireshark-labs

3. Kinakailangan na bersyon: HTTP / 1.1 ==> Ito ay bersyon ng HTTP 1.1

4. Tanggapin: teksto / html, application / xhtml + xml, imahe / jxr, * / * ==> Sinasabi sa server ang tungkol sa uri ng file na maaaring tanggapin nito [client side browser]. Dito inaasahan ng kliyente ang alice.txt na uri ng teksto.

5. Tanggapin-Wika: en-US ==> Tinanggap na pamantayan sa wika.

6. Gumagamit-Ahente: Mozilla / 5.0 (Windows NT 10.0; WOW64; Trident / 7.0; rv: 11.0) tulad ng Gecko ==> Ang uri ng browser ng panig ng kliyente. Kahit na ginamit namin ang internet explorer ngunit nakikita namin ito palagi / maximum na oras sabi ni Mozilla

7. Tanggapin-Encoding: gzip, magpapayat ==> Tinanggap na pag-encode sa panig ng kliyente.

8. Host: gaia.cs.umass.edu ==> Ito ang pangalan ng web server kung saan nagpapadala ang client ng kahilingan sa HTTP GET.

9. Koneksyon: Keep-Alive ==> Kinokontrol ng koneksyon kung mananatiling bukas ang koneksyon sa network matapos ang kasalukuyang transaksyon. Ang uri ng koneksyon ay mananatiling buhay.

Narito ang screenshot para sa mga patlang ng packet na HTTP-GET

HTTP OK:

Matapos ang data ng TCP [nilalaman ng alice.txt] ay matagumpay na naipadala ang HTTP OK ay ipinadala sa kliyente at narito ang mga mahahalagang larangan sa packet.
1. Bersyon ng Tugon: HTTP / 1.1 ==> Narito din ang server sa HTTP na bersyon 1.1
2. Code ng Estado: 200 ==> Status code na ipinadala ng server.
3. Parirala ng Tugon: OK lang ==> Parirala ng tugon na ipinadala ng server.

Kaya't mula sa 2 at 3 nakakakuha tayo ng 200 OK na nangangahulugang ang kahilingan na [HTTP GET] ay nagtagumpay.

4. Petsa: Araw, 10 Peb 2019 06:24:19 GMT ==> Kasalukuyang petsa, oras sa GMT kung kailan natanggap ang HTTP GET ng server.
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 ==> Mga detalye ng server at mga bersyon ng pagsasaayos.
6. Huling Nabago : Sat, 21 Ago 2004 14:21:11 GMT ==> Huling binago na petsa at oras para sa file alice.txt.
7.ETag: 2524a-3e22aba3a03c0 ==> Ipinapahiwatig ng ETag na ang nilalaman ay hindi binago upang matulungan ang pag-cache at pagbutihin ang pagganap. O kung nagbago ang nilalaman, kapaki-pakinabang ang etags upang makatulong na maiwasan ang sabay na mga pag-update ng isang mapagkukunan mula sa pag-o-overtake sa bawat isa.
8. Mga Saklaw na Tanggapin: bytes ==> Ang byte ay ang yunit na ginamit sa server para sa nilalaman.
9. Haba ng Nilalaman: 152138 ==> Ito ang kabuuang haba ng alice.txt sa mga byte.
10. Panatilihing Buhay: timeout = 5, max = 100 ==> Panatilihin ang mga buhay na parameter.
11. Koneksyon: Panatilihing buhay ==> Kinokontrol ng koneksyon kung mananatili bang bukas ang koneksyon pagkatapos ng kasalukuyang transaksyon. Ang uri ng koneksyon ay mananatiling buhay.
12. Uri ng Nilalaman: teksto / payak; charset = UTF-8 ==> Ang uri ng nilalaman na [alice.txt] ay teksto at ang pamantayan ng charset ay UTF-8.

Narito ang screenshot para sa iba't ibang mga patlang ng HTTP OK packet.

Kaya alam namin ngayon kung ano ang mangyayari kapag humiling kami para sa anumang file na naroroon sa web server.

Konklusyon:

Ang HTTP ay isang simpleng application protocol na ginagamit namin araw-araw sa aming buhay. Ngunit hindi ito ligtas kaya ipinatupad ang HTTPS. Ang S na iyon ay nangangahulugang ligtas. Iyon ang dahilan kung bakit ikaw ang pinakamataas na pangalan ng web server ay nagsisimula sa http s: // [websitename] . Nangangahulugan ito na ang lahat ng komunikasyon sa pagitan mo at ng server ay naka-encrypt. Magkakaroon kami ng magkakahiwalay na talakayan sa HTTPS na ito sa hinaharap.