Wireshark

HTTP-analyse ved hjælp af Wireshark

HTTP-analyse ved hjælp af Wireshark

Hvad er HTTP?

Først er al den fulde form for HTTP er HyperText Transfer Protocol. HTTP er en applikationslagsprotokol i ISO- eller TCP / IP-model. Se billedet nedenfor for at finde ud af HTTP, som ligger under applikationslaget.

HTTP bruges af World Wide Web (w.w.w) og det definerer, hvordan meddelelser formateres og transmitteres af browseren. Så HTTP definerer regler, hvilken handling der skal udføres, når en browser modtager HTTP-kommando. Og også HTTP definerer regler for transmission af HTTP-kommando for at hente data fra serveren.

For eksempel, når du indtaster en url i browseren (Internet explorer, Chrome, Firefox, Safari osv.), Sender den faktisk en HTTP-kommando til serveren.Og server svar med passende kommando.

HTTP-metoder:

Der er nogle sæt metoder til HTTP / 1.1 (Dette er HTTP-version)

FÅ, HOVED, POST, SÆT, SLET, FORBIND, OPTION og SPOR.

Vi vil ikke gå i detaljer om hver metode i stedet for at få kendskab til de metoder, der ses ret ofte.Såsom

FÅ: GET-anmodning beder om data fra webserveren. Dette er en hovedmetode, der anvendes dokumentretrival. Vi vil se et praktisk eksempel på denne metode.

STOLPE: POST-metoden bruges, når det er nødvendigt at sende nogle data til serveren.

HTTP er Wiresahark:

Lad os prøve noget praktisk for at forstå, hvordan HTTP fungerer ?

Så i dette eksempel downloader vi “Alice.txt ”(Datafil til stede på serveren) fra “Gaia.cs.umass.edu ” server.

Setps:

  1. Åbn URL'en http: // gaia.cs.umass.edu / wireshark-labs / alice.txt [Vi kender den fulde url til download af alice.txt] i computerens browser.
  2. Nu ser vi den downloadede fil i browseren. Her er skærmbilledet

  1. Parallelt har vi fanget pakkerne i Wireshark.

HTTP-pakker udveksles i Wireshark:

Før vi går ind i HTTP, skal vi vide, at HTTP bruger port 80 og TCP som transportlagsprotokol [Vi forklarer TCP i en anden emnediskussion].

Lad os nu se, hvad der sker i netværket, når vi lægger den URL og trykker på enter i browseren.

Her er skærmbilledet til

TCP 3-vejs håndtryk -> HTTP OK -> TCP Data [indhold af alice.txt] ->

HTTP-OK

Lad os nu se, hvad der er inde i HTTP GET og HTTP OK-pakker.

Bemærk: Vi forklarer TCP-udvekslinger i en anden emnediskussion.

HTTP FÅ:

Efter TCP 3-vejs håndtryk [SYN, SYN + ACK og ACK pakker] er færdig HTTP GET anmodning sendes til serveren, og her er de vigtige felter i pakken.

1.Anmodningsmetode: FÅ ==> Pakken er en HTTP GET .

2.Anmod om URI: / wireshark-labs / alice.txt ==> Klienten beder om filalice.txt til stede under / Wireshark-labs

3.Anmod om version: HTTP / 1.1 ==> Det er HTTP-version 1.1

4.Acceptere: tekst / html, applikation / xhtml + xml, billede / jxr, * / * ==> Fortæller server om den filtype, som [browser på klientsiden] kan acceptere. Her forventer klienten alice.txt, som er teksttype.

5.Accept-sprog: da-USA ==> Accepteret sprogstandard.

6.Brugeragent: Mozilla / 5.0 (Windows NT 10.0; WOW64; Trident / 7.0; rv: 11.0) som Gecko ==> Browser type på klientsiden. Selv hvis vi brugte internet explorer, men vi ser det altid / maksimal tid siger Mozilla

7.Accept-kodning: gzip, tøm luft ==> Accepteret kodning på klientsiden.

8.Vært: gaia.cs.umass.edu ==> Dette er webservernavnet, hvor klienten sender HTTP GET-anmodning.

9.Forbindelse: Keep-Alive ==> Forbindelse styrer, om netværksforbindelsen forbliver åben, når den aktuelle transaktion er afsluttet. Forbindelsestypen holdes i live.

Her er skærmbilledet til HTTP-GET-pakkefelter

HTTP OK:

Efter TCP-data [indhold af alice.txt] er sendt HTTP OK sendes til klienten, og her er de vigtige felter i pakken.
1. Svarversion: HTTP / 1.1 ==> Her server også i HTTP version 1.1
2.Status kode: 200 ==> Statuskode sendt af serveren.
3.Svarfrase: Okay ==> Svarfrase sendt af serveren.

Så fra 2 og 3 får vi 200 OK, hvilket betyder, at anmodningen [HTTP GET] er lykkedes.

4.Dato: Søn, 10. feb 2019 06:24:19 GMT ==> Aktuel dato, tid i GMT, hvor HTTP GET blev modtaget af serveren.
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 ==> Serveroplysninger og versioner af konfigurationer.
6.Sidst ændret: Lør, 21. august 2004 14:21:11 GMT ==> Sidste ændrede dato og klokkeslæt for filen “alice.txt ”.
7.ETag: “2524a-3e22aba3a03c0” ==> ETag indikerer, at indholdet ikke ændres for at hjælpe caching og forbedre ydeevnen. Eller hvis indholdet er ændret, er etags nyttige til at forhindre samtidige opdateringer af en ressource i at overskrive hinanden.
8. Accept-intervaller: bytes ==> Byte er den enhed, der bruges i serveren til indhold.
9.Indholdslængde: 152138 ==> Dette er den samlede længde af alice.txt i bytes.
10. Holde i live: timeout = 5, max = 100 ==> Hold parametre i live.
11.Forbindelse: Holde i live ==> Forbindelse styrer, om netværksforbindelsen forbliver åben, når den aktuelle transaktion er afsluttet. Forbindelsestypen holdes i live.
12.Indholdstype: tekst / almindelig; charset = UTF-8 ==> Indholdet [alice.txt] type er tekst og tegn er standard UTF-8.

Her er skærmbilledet for forskellige felter i HTTP OK-pakke.

Så nu ved vi, hvad der sker, når vi beder om en fil, der findes på webserveren.

Konklusion:

HTTP er enkel applikationsprotokol, som vi bruger hver dag i vores liv. Men det er ikke sikkert, så HTTPS er blevet implementeret. At "S" står for sikker. Derfor starter dit så maksimale webservernavn med https: // [websitename]. Dette betyder, at al kommunikation mellem dig og serveren er krypteret. Vi vil have separat diskussion om denne HTTPS i fremtiden.

Sådan installeres League Of Legends på Ubuntu 14.04
Hvis du er fan af League of Legends, er dette en mulighed for dig at prøvekøre League of Legends. Bemærk, at LOL understøttes på PlayOnLinux, hvis du ...
Installer det nyeste OpenRA-strategispil på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spilmotor, der genskaber de tidlige Westwood-spil som det klassiske Command & Conquer: Red Alert. Distrib...
Installer nyeste Dolphin Emulator til Gamecube & Wii på Linux
Dolphin Emulator giver dig mulighed for at spille dine valgte Gamecube & Wii-spil på Linux Personal Computers (PC). Som en frit tilgængelig og open s...