Wireshark

TCP pakkefangstanalyse

TCP pakkefangstanalyse

Hva er TCP?

TCP (Transmission Control Protocol) er en forbindelsesorientert transportlagsprotokoll.

Hensikten med denne artikkelen:

Å forstå hele TCP er ikke en enkel oppgave. I denne artikkelen vil vi prøve å forstå de grunnleggende pakkerutvekslingene av TCP gjennom Wireshark. Teori kan leses via internett. Vi vil fokusere mer på analyse av pakkefangst.

Hvorfor TCP er kjent?

Det er flere grunner til at TCP er så kjent:

  1. TCP er tilkoblingsorientert protokoll, slik at påliteligheten er veldig høy.
  2. TCP kan kontrollere overbelastning av seg selv.
  3. TCP kan oppdage feil.
  4. TCP bruker flytkontrollprotokoll.
  5. TCP har forsinkelse av ACK-funksjoner.
  6. TCP har selektiv ACK-funksjon.
  7. TCP har windows calling-funksjon for forbedring av gjennomstrømningen.

Det er så mange andre funksjoner som gjør TCP så kjent.

Analyse av TCP:

Vi vil følge noen trinn for å generere TCP-rammer.

Trinn 1: Den enkle måten å generere TCP-pakker på er å få tilgang til et hvilket som helst HTTP-nettsted. Årsaken er at HTTP er en applikasjonslagsprotokoll og den bruker TCP som underliggende transportlagsprotokoll.

For å vite om HTTP, følg linken nedenfor

https: // linuxhint.com / http_wireshark /

Steg 2: Start Wireshark.

Trinn 3: Åpne lenken nedenfor i hvilken som helst nettleser.

http: // gaia.cs.umass.edu / wireshark-labs / alice.tekst

Trinn 4: Stopp Wireshark og sett TCP som filter.

Trinn 5: ANALYSE

Nå skal vi se TCP 3-veis håndtrykkpakker. Her er det enkle diagrammet.

Ramme 1: SYN [Synkronisering]

SYN er den første pakken som kommer fra klienten til serveren. I vårt tilfelle 192.168.1.6 er klienten [Systemet der vi åpnet nettleseren] og gaia.cs.umass.edu er serveren.

Her er noen viktige felt i SYN-rammen

SYN-ramme er nødvendig for å sende funksjonene til klienten til serveren.

Ramme 2: SYN + ACK [Synkronisering + bekreftelse]

SYN, ACK er den andre pakken som kommer fra serveren til klienten.

Her er noen viktige felt i SYN, ACK-ramme

SYN, ACK-ramme kreves for å sende funksjonene til serveren til klienten.

Nå har klient og server delt sine evner.

Ramme 3: ACK [Bekreftelse]

ACK er den tredje pakken som kommer fra klienten til serveren. Dette er i utgangspunktet en bekreftelse fra klient til server, og det er også en aksept av evner sendt av serveren.

Her er de viktige feltene for ACK.

La oss sjekke de viktige informasjonene som deles mellom klient og server:

KlientServer

Motta vindusstørrelse: 64240 byte                          Motta vindusstørrelse: 29200 byte

Maksimal segmentstørrelse: 1460 byte                         Maksimal segmentstørrelse: 1412 byte

SACK Tillatt: Ja                                                 SACK Tillatt: Ja

Vindusskala: 8 (multipliser med 256)                          Vindusskala: 7 (multipliser med 128)

Vi har lagt merke til at det er forskjeller i verdier. Hvis klient eller server godtar andres evner, er 3-veis håndtrykk vellykket.

TCP-overskrift:

Her er de viktige feltene i TCP-overskriften:

  1. Kildeport (16 bits): Dette er senderporten.
Eksempel: Kildeport: 50026 (50026)
  1. Destinasjonsport (16 bits): Dette er mottaksporten.
Eksempel: Destinasjonsport: http (80)
  1. Sekvensnummer (32 bits):
Eksempel: Sekvensnummer: 0 (relativt sekvensnummer)
  1. Kvitteringsnummer (32 bits): Hvis ACK-flagget er satt, er verdien av dette feltet det neste sekvensnummeret som ACK-avsenderen forventer.
Eksempel: Kvitteringsnummer: 0
  1. Topplengde: Toppstørrelse kan variere fra 20 byte og maksimalt 60 byte.
Eksempel: 1000 ... = Topplengde: 32 byte (8)
  1. Flagg (9 bits):
Eksempel:
… = Reservert: Ikke satt
… 0… = Nonce: Ikke satt
… 0… = Redusert overbelastningsvindu (CWR): Ikke angitt
… 0… = ECN-Echo: Ikke satt
… 0… = Haster: Ikke angitt
… 0… = Bekreftelse: Ikke angitt
… 0… = Trykk: Ikke satt
… 0… = Tilbakestill: Ikke angitt
… 1. = Syn: Sett
… 0 = Fin: Ikke satt
  1. Vindusstørrelse (16 bits): Dette er størrelsen på mottaksvinduet i byte.
Eksempel: Verdi for vindusstørrelse: 64240
  1. Kontrollsum (16 bits):

Det brukes feilkontroll av overskriften.

Eksempel: Kontrollsum: 0x436f
  1. Hasterpeker (16 bits):

Dette er en forskyvning fra sekvensnummeret som indikerer den siste presserende databyen.

Eksempel: Hasterpeker: 0
  1. Alternativer:
Eksempel:
TCP-alternativ - Maksimal segmentstørrelse: 1460 byte
TCP-alternativ - NO-Operation (NOP)
TCP-alternativ - Vindusskala: 8 (multipliser med 256)
TCP-alternativ - SACK tillatt

Observasjon:

TCP-topptekst på SYN er 32 byte.

TCP-topptekst på SYN, ACK er 32 byte.

TCP-topptekststørrelse på ACK er 20 byte, da den ikke har alternativfelt.

TCP-data:

Her er skjermbildet med forklaring på TCP-data og TCP ACK. Her kan vi se TCP-forsinkelse ACK-funksjonen. Serveren har sendt tre TCP-datapakker til klienten, og klienten har sendt en forsinkelses-ACK for å fortelle serveren at den har mottatt alle de tre TCP-datapakkene. Derfor ser vi i TCP ACK [Pakke nummer 96 på skjermbilde] ACK = 14121, noe som betyr at klienten har mottatt til 14121 byte.

Henvisning:

For grunnleggende teori om TCP henvises

https: // no.wikipedia.org / wiki / Transmission_Control_Protocol

Mus Hvordan bruke Xdotool til å stimulere museklikk og tastetrykk i Linux
Hvordan bruke Xdotool til å stimulere museklikk og tastetrykk i Linux
Xdotool er et gratis og åpen kildekode kommandolinjeverktøy for å simulere museklikk og tastetrykk. Denne artikkelen vil dekke en kort guide om bruk a...
Mus Topp 5 ergonomiske datamuseprodukter for Linux
Topp 5 ergonomiske datamuseprodukter for Linux
Gir langvarig bruk av datamaskiner smerter i håndleddet eller fingrene? Lider du av stive ledd og må hele tiden riste på deg hendene? Føler du en bren...
Mus Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
De fleste Linux-distribusjoner leveres med "libinput" -biblioteket som standard for å håndtere inngangshendelser på et system. Den kan behandle inngan...