Wireshark

TCP-pakkeopsamlingsanalyse

TCP-pakkeopsamlingsanalyse

Hvad er TCP?

TCP (Transmission Control Protocol) er en forbindelsesorienteret transportlagsprotokol.

Formålet med denne artikel:

At forstå hele TCP er ikke en let opgave. I denne artikel vil vi forsøge at forstå de grundlæggende pakkeudvekslinger af TCP gennem Wireshark. Teori kan læses via internettet. Vi vil fokusere mere på analyse af pakkefangst.

Hvorfor TCP er berømt?

Der er flere grunde til, at TCP er så berømt:

  1. TCP er forbindelsesorienteret protokol, så pålideligheden er meget høj.
  2. TCP kan kontrollere overbelastning af sig selv.
  3. TCP kan registrere fejl.
  4. TCP bruger flowkontrolprotokol.
  5. TCP har ACK-forsinkelsesfunktioner.
  6. TCP har selektiv ACK-funktion.
  7. TCP har windows calling-funktion til forbedring af kapacitet.

Der er så mange andre funktioner, der gør TCP så berømt.

Analyse af TCP:

Vi følger nogle trin for at generere TCP-rammer.

Trin 1: Den enkle måde at generere TCP-pakker er ved at få adgang til ethvert HTTP-websted. Årsagen er, HTTP er en applikationslagsprotokol, og den bruger TCP som underliggende transportlagsprotokol.

Følg nedenstående link for at vide om HTTP

https: // linuxhint.com / http_wireshark /

Trin 2: Start Wireshark.

Trin 3: Åbn nedenstående link i enhver browser.

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

Trin 4: Stop Wireshark og sæt TCP som filter.

Trin 5: ANALYSE

Nu skal vi se TCP 3-vejs håndtrykspakker. Her er det enkle diagram.

Ramme 1: SYN [Synkronisering]

SYN er den første pakke, der kommer fra klienten til serveren. I vores tilfælde 192.168.1.6 er klienten [Systemet, hvor vi åbnede browseren] og gaia.cs.umass.edu er serveren.

Her er nogle vigtige felter i SYN-rammen

SYN-ramme kræves for at sende klientens funktioner til serveren.

Ramme 2: SYN + ACK [Synkronisering + kvittering]

SYN, ACK er den anden pakke, der kommer fra serveren til klienten.

Her er nogle vigtige felter i SYN, ACK ramme

SYN, ACK-ramme kræves for at sende kapaciteterne til serveren til klienten.

Nu har klient og server delt deres muligheder.

Ramme 3: ACK [Kvittering]

ACK er den tredje pakke, der kommer fra klienten til serveren. Dette er dybest set en anerkendelse fra klient til server, og det er også en accept af muligheder sendt af serveren.

Her er de vigtige felter for ACK.

Lad os kontrollere de vigtige informationer, der deles mellem klient og server:

KlientServer

Modtag vinduesstørrelse: 64240 Bytes                          Modtag vinduesstørrelse: 29200 byte

Maksimal segmentstørrelse: 1460 bytes                         Maksimal segmentstørrelse: 1412 bytes

SACK Tilladt: Ja                                                 SACK Tilladt: Ja

Vindueskala: 8 (gang med 256)                          Vindueskala: 7 (gang med 128)

Vi har bemærket, at der er forskelle i værdier. Hvis klient eller server accepterer andres muligheder, er 3-vejs håndtryk vellykket.

TCP header:

Her er de vigtige felter i TCP-header:

  1. Kildeport (16 bit): Dette er den sendende port.
Eksempel: Kildeport: 50026 (50026)
  1. Destinationsport (16 bit): Dette er modtagelsesporten.
Eksempel: Destinationsport: http (80)
  1. Sekvensnummer (32 bit):
Eksempel: Sekvensnummer: 0 (relativt sekvensnummer)
  1. Kvitteringsnummer (32 bit): Hvis ACK-flag er indstillet, er værdien i dette felt det næste sekvensnummer, som afsenderen af ​​ACK forventer.
Eksempel: Kvitteringsnummer: 0
  1. Skruelængde: Overskriftsstørrelse kan variere fra 20 byte og maksimalt 60 byte.
Eksempel: 1000 ... = Overskriftlængde: 32 byte (8)
  1. Flag (9 bit):
Eksempel:
… = Reserveret: Ikke indstillet
… 0… = Nonce: Ikke indstillet
… 0… = Reduceret overbelastningsvindue (CWR): Ikke indstillet
… 0… = ECN-Echo: Ikke indstillet
… 0… = Haster: Ikke indstillet
… 0… = Kvittering: Ikke indstillet
… 0… = Push: Ikke indstillet
… 0… = Nulstil: Ikke indstillet
... 1. = Syn: Indstil
… 0 = Fin: Ikke indstillet
  1. Vinduesstørrelse (16 bit): Dette er størrelsen på modtagevinduet i byte.
Eksempel: Vinduesstørrelsesværdi: 64240
  1. Kontrolsum (16 bit):

Det bruges fejlkontrol af overskriften.

Eksempel: Kontrolsum: 0x436f
  1. Haster-markør (16 bit):

Dette er en forskydning fra sekvensnummeret, der angiver den sidste hastende databyte.

Eksempel: Hasterpeger: 0
  1. Muligheder:
Eksempel:
TCP Option - Maksimal segmentstørrelse: 1460 bytes
TCP Option - No-Operation (NOP)
TCP Option - Vindueskala: 8 (gang med 256)
TCP Option - SACK tilladt

Observation:

TCP-headerstørrelse på SYN er 32 Bytes.

TCP-headerstørrelse på SYN, ACK er 32 Bytes.

TCP-headerstørrelse på ACK er 20 Bytes, da den ikke har valgfelter.

TCP-data:

Her er skærmbilledet med forklaring på TCP-data og TCP ACK. Her kan vi se TCP-forsinkelse ACK-funktion. Serveren har sendt tre TCP-datapakker til klienten, og klienten har sendt en ACK-forsinkelse for at fortælle serveren, at den har modtaget alle tre TCP-datapakker. Derfor ser vi i TCP ACK [pakke nummer 96 på skærmbillede] ACK = 14121, hvilket betyder, at klienten har modtaget indtil 14121 bytes.

Reference:

For grundlæggende teori om TCP henvises

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

Mus Sådan vender du musens og touchpadsens rulle retning i Windows 10
Sådan vender du musens og touchpadsens rulle retning i Windows 10
Mus og Touchpads gør ikke kun computing let, men mere effektiv og mindre tidskrævende. Vi kan ikke forestille os et liv uden disse enheder, men det er...
Mus Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Musemarkøren og markøren i Windows 10 er meget vigtige aspekter af operativsystemet. Dette kan også siges om andre operativsystemer, så i sandhed er d...
Gratis og open source-spilmotorer til udvikling af Linux-spil
Denne artikel dækker en liste over gratis og open source-spilmotorer, der kan bruges til at udvikle 2D- og 3D-spil på Linux. Der er mange sådanne spil...