Wireshark

TCP Packet Capture Analys

TCP Packet Capture Analys

Vad är TCP?

TCP (Transmission Control Protocol) är ett anslutningsorienterat transportlagerprotokoll.

Syftet med denna artikel:

Att förstå hela TCP är inte en lätt uppgift. I den här artikeln kommer vi att försöka förstå de grundläggande paketutbytena av TCP genom Wireshark. Teori kan läsas via internet. Vi kommer att fokusera mer på analys av paketfångst.

Varför TCP är känt?

Det finns flera anledningar till varför TCP är så känt:

  1. TCP är anslutningsorienterat protokoll så tillförlitligheten är mycket hög.
  2. TCP kan själv kontrollera trängseln.
  3. TCP kan upptäcka fel.
  4. TCP använder flödeskontrollprotokoll.
  5. TCP har ACK-fördröjningsfunktioner.
  6. TCP har selektiv ACK-funktion.
  7. TCP har Windows-anropsfunktion för förbättring av kapacitet.

Det finns så många andra funktioner som gör TCP så känd.

Analys av TCP:

Vi följer några steg för att generera TCP-ramar.

Steg 1: Det enkla sättet att generera TCP-paket är att komma åt vilken HTTP-webbplats som helst. Anledningen är att HTTP är ett applikationslagerprotokoll och det använder TCP som underliggande transportlagerprotokoll.

För att veta om HTTP, följ länken nedan

https: // linuxhint.com / http_wireshark /

Steg 2: Starta Wireshark.

Steg 3: Öppna länken nedan i valfri webbläsare.

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

Steg 4: Stoppa Wireshark och sätt TCP som filter.

Steg 5: ANALYS

Nu ska vi se TCP 3-vägs handskakningspaket. Här är det enkla diagrammet.

Ram 1: SYN [Synkronisering]

SYN är det första paketet som kommer från klienten till servern. I vårt fall 192.168.1.6 är klienten [Systemet där vi öppnade webbläsaren] och gaia.cs.umass.edu är servern.

Här är några viktiga fält i SYN-ram

SYN-ram krävs för att skicka klientens funktioner till servern.

Ram 2: SYN + ACK [Synkronisering + bekräftelse]

SYN, ACK är det andra paketet som kommer från servern till klienten.

Här är några viktiga fält i SYN, ACK-ram

SYN, ACK-ram krävs för att skicka serverns funktioner till klienten.

Nu har klient och server delat sina möjligheter.

Ram 3: ACK [Bekräftelse]

ACK är det tredje paketet som kommer från klienten till servern. Detta är i grunden ett bekräftelse från klient till server och det är också ett godkännande av funktioner som skickas av servern.

Här är de viktiga fälten för ACK.

Låt oss kontrollera viktig information som delas mellan klient och server:

KlientServer

Ta emot fönsterstorlek: 64240 byte                          Ta emot fönsterstorlek: 29200 byte

Maximal segmentstorlek: 1460 byte                         Maximal segmentstorlek: 1412 byte

SACK Tillåten: Ja                                                 SACK Tillåten: Ja

Fönstervåg: 8 (multiplicera med 256)                          Fönstervåg: 7 (multiplicera med 128)

Vi har märkt att det finns skillnader i värden. Om klienten eller servern accepterar andras funktioner är 3-vägs handskakning framgångsrik.

TCP-rubrik:

Här är de viktiga fälten i TCP-rubriken:

  1. Källport (16 bitar): Detta är den sändande porten.
Exempel: Källport: 50026 (50026)
  1. Destinationsport (16 bitar): Detta är den mottagande porten.
Exempel: Destinationsport: http (80)
  1. Sekvensnummer (32 bitar):
Exempel: Sekvensnummer: 0 (relativt sekvensnummer)
  1. Kvittensnummer (32 bitar): Om ACK-flaggan är inställd är värdet för detta fält nästa sekvensnummer som avsändaren av ACK förväntar sig.
Exempel: Kvittensnummer: 0
  1. Huvudlängd: Rubrikstorleken kan variera från 20 byte och maximalt 60 byte.
Exempel: 1000 ... = Huvudlängd: 32 byte (8)
  1. Flaggor (9 bitar):
Exempel:
... = Reserverad: Ej inställd
… 0… = Nonce: Ej inställd
… 0… = Reducerad trängsel (CWR): Ej inställd
… 0… = ECN-Echo: Ej inställd
… 0… = Brådskande: Ej inställd
… 0… = Bekräftelse: Ej inställd
… 0… = Push: Ej inställd
… 0… = Återställ: Ej ​​inställd
... 1. = Syn: Ställ in
… 0 = Fin: Ej inställd
  1. Fönsterstorlek (16 bitar): Detta är storleken på mottagningsfönstret i byte.
Exempel: Fönsterstorleksvärde: 64240
  1. Kontrollsumma (16 bitar):

Det används felkontroll av rubriken.

Exempel: Kontrollsumma: 0x436f
  1. Brådskande pekare (16 bitar):

Detta är en förskjutning från sekvensnumret som indikerar den sista brådskande databyte.

Exempel: Brådskande pekare: 0
  1. alternativ:
Exempel:
TCP-alternativ - Maximal segmentstorlek: 1460 byte
TCP Option - No-Operation (NOP)
TCP-alternativ - Fönsterskala: 8 (multiplicera med 256)
TCP-alternativ - SACK tillåten

Observation:

TCP-huvudstorlek för SYN är 32 byte.

TCP-huvudstorlek på SYN, ACK är 32 byte.

TCP-huvudstorlek på ACK är 20 byte eftersom den inte har alternativfält.

TCP-data:

Här är skärmdumpen med förklaring för TCP-data och TCP ACK. Här kan vi se TCP-fördröjning ACK-funktionen. Servern har skickat tre TCP-datapaket till klienten och klienten har skickat en ACK-fördröjning för att meddela servern att den har tagit emot alla tre TCP-datapaket. Därför ser vi i TCP ACK [paketnummer 96 på skärmdump] ACK = 14121 vilket innebär att klienten har fått till 14121 byte.

Referens:

För grundläggande teori om TCP hänvisas

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

Mus Topp 5 Ergonomiska datormusprodukter för Linux
Topp 5 Ergonomiska datormusprodukter för Linux
Ger långvarig datoranvändning smärta i handleden eller fingrarna? Lider du av styva leder och måste ständigt skaka hand? Känner du en brännande smärta...
Mus Så här ändrar du inställningar för mus och pekplatta med Xinput i Linux
Så här ändrar du inställningar för mus och pekplatta med Xinput i Linux
De flesta Linux-distributioner levereras med "libinput" -bibliotek som standard för att hantera inmatningshändelser i ett system. Den kan bearbeta inm...
Mus Omforma dina musknappar på olika sätt för olika program med X-Mouse Button Control
Omforma dina musknappar på olika sätt för olika program med X-Mouse Button Control
Kanske behöver du ett verktyg som kan göra att musens kontroll ändras med alla applikationer som du använder. Om så är fallet kan du prova en ansökan ...