HTTP -analyse ved hjelp av Wireshark

Http Analysis Using Wireshark



Hva er HTTP?

Først er hele formen for HTTP HyperText Transfer Protocol. HTTP er en applikasjonslagsprotokoll i ISO- eller TCP/IP -modellen. Se bildet nedenfor for å finne ut HTTP som ligger under applikasjonslaget.







HTTP brukes av Verdensveven (w.w.w) og den definerer hvordan meldinger formateres og overføres av nettleseren. Så HTTP definerer regler som skal gjøres når en nettleser mottar HTTP -kommando. Og også HTTP definerer regler for overføring av HTTP -kommando for å hente data fra serveren.



For eksempel, når du skriver inn en nettadresse i nettleseren (Internet Explorer, Chrome, Firefox, Safari osv.) Sender den faktisk en HTTP -kommando til serveren. Og serveren svarer med passende kommando.



HTTP -metoder:

Det er noen sett med metoder for HTTP/1.1 (Dette er HTTP -versjon)





FÅ, HODE, POST, PUT, SLETT, KOBLE TIL, ALTERNATIV og SPOR.

Vi vil ikke gå i detaljer om hver metode i stedet vil vi bli kjent med metodene som blir sett ganske ofte



FÅ: GET -forespørsel ber om data fra webserveren. Dette er en hovedmetode for dokumentinnhenting. Vi vil se et praktisk eksempel på denne metoden.

POST: POST -metoden brukes når det er nødvendig for å sende noen data til serveren.

HTTP er Wiresahark:

La oss prøve noe praktisk for å forstå hvordan HTTP fungerer?

Så i dette eksemplet vil vi laste ned alice.txt (datafilen finnes på serveren) fra gaia.cs.umass.edu server.

Setps:

  1. Åpne nettadressen http://gaia.cs.umass.edu/wireshark-labs/alice.txt [Vi vet hele nettadressen for nedlasting av alice.txt] i nettleseren.
  2. Nå ser vi den nedlastede filen i nettleseren. Her er skjermdumpen

  1. Parallelt har vi fanget pakkene i Wireshark.

Utveksling av HTTP -pakker i Wireshark:

Før vi går inn på HTTP, bør vi vite at HTTP bruker port 80 og TCP som transportlagsprotokoll [Vi vil forklare TCP i en annen emnediskusjon].

La oss nå se hva som skjer i nettverket når vi legger den nettadressen og trykker enter i nettleseren.

Her er skjermbildet for

TCP 3-veis håndtrykk ——-> HTTP OK ——-> TCP-data [innhold i alice.txt] ——->

HTTP-OK

La oss nå se hva som er inne i pakker med HTTP GET og HTTP OK.

Merk: Vi vil forklare TCP -utvekslinger i en annen temadiskusjon.

FÅ HTTP:

Etter at TCP 3-veis håndtrykk [SYN, SYN+ACK og ACK pakker] er utført, sendes HTTP GET-forespørsel til serveren, og her er de viktige feltene i pakken.

1. forespørselsmetode: FÅ ==> Pakken er en HTTP GET.

2. Be om URI: /wireshark-labs/alice.txt ==> Klienten ber om alice.txt-fil under /Wireshark-labs

3. forespørsel versjon: HTTP/1.1 ==> Det er HTTP versjon 1.1

4.Aksepter: tekst/html, application/xhtml+xml, image/jxr, */ * ==> Forteller serveren om filtypen den [nettleseren på klientsiden] kan godta. Her venter klienten alice.txt som er teksttype.

5.Aksept-språk: no-US ==> Godkjent språkstandard.

6. bruker-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv: 11.0) som Gecko ==> Type nettleser på klientsiden. Selv om vi brukte internet explorer, men vi ser det alltid/maksimal tid, sier Mozilla

7.Aksept-koding: gzip, tøm ut ==> Godkjent koding på klientsiden.

8. vert: gaia.cs.umass.edu ==> Dette er navnet på webserveren der klienten sender HTTP GET -forespørsel.

9. tilkobling: Keep-Alive ==> Tilkoblingen styrer om nettverkstilkoblingen forblir åpen etter at den nåværende transaksjonen er fullført. Tilkoblingstypen holdes i live.

Her er skjermbildet for HTTP-GET-pakkefelt

HTTP OK:

Etter at TCP -data [innhold i alice.txt] er sendt, sendes HTTP OK til klienten, og her er de viktige feltene i pakken.
1. Svarversjon: HTTP / 1.1 ==> Her server også i HTTP versjon 1.1
2. statuskode: 200 ==> Statuskode sendt av serveren.
3. svarfrase: OK ==> Svarfrase sendt av server.

Så fra 2 og 3 får vi 200 OK, noe som betyr at forespørselen [HTTP GET] har lyktes.

4. dato: Søn. 10. feb 2019 06:24:19 GMT ==> Gjeldende dato, klokkeslett i GMT da HTTP GET ble mottatt av 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 ==> Serverdetaljer og konfigurasjonsversjoner.
6. sist endret : Lørdag 21.august 2004 14:21:11 GMT ==> Sist endret dato og klokkeslett for filen alice.txt.
7.ETag: 2524a-3e22aba3a03c0 ==> ETag indikerer at innholdet ikke er endret for å hjelpe hurtigbufring og forbedre ytelsen. Eller hvis innholdet er endret, er etags nyttige for å forhindre at samtidige oppdateringer av en ressurs overskriver hverandre.
8. Godta-områder: byte ==> Byte er enheten som brukes i server for innhold.
9. innhold-lengde: 152138 ==> Dette er den totale lengden på alice.txt i byte.
10. Keep-Alive: timeout = 5, maks = 100 ==> Hold parametere i live.
11. tilkobling: Holde i live ==> Tilkobling styrer om nettverkstilkoblingen forblir åpen etter at den nåværende transaksjonen er fullført. Tilkoblingstypen holdes i live.
12. innholdstype: tekst/vanlig; tegnsett = UTF-8 ==> Innholdstypen [alice.txt] er tekst og tegnsettstandard er UTF-8.

Her er skjermbildet for forskjellige felt i HTTP OK -pakken.

Så nå vet vi hva som skjer når vi ber om en fil som finnes i webserveren.

Konklusjon:

HTTP er en enkel applikasjonsprotokoll som vi bruker hver dag i livet vårt. Men det er ikke sikkert, så HTTPS er implementert. At S står for sikker. Derfor starter du det maksimale navnet på webserveren med http s: // [nettstednavn] . Dette betyr at all kommunikasjon mellom deg og serveren er kryptert. Vi vil ha separat diskusjon om denne HTTPS i fremtiden.