TCP 3-vägs handsaksanalys i Wireshark

Tcp 3 Vags Handsaksanalys I Wireshark



Transmission Control Protocol är ett mycket viktigt protokoll i transportlager för OSI- eller TCP/IP-modell. Det finns många fördelar med TCP som:

  • TCP återsänder om någon sänd data inte bekräftas av mottagaren inom en viss tid.
  • TCP upprättar en anslutning innan data skickas. Vi kallar den anslutningen som 3-vägs handskakning.
  • TCP har trängselkontrollmekanism.
  • TCP kan upptäcka fel med vissa metoder.

Låt oss lära oss främst om TCP 3-vägs handskakning. Låt oss också lära oss om de viktiga fälten i Wireshark för 3-vägs handskakning.







3-vägs handslag

Det finns tre ramutbyten som sker i ett 3-vägs handslag:



  1. SYN
  2. SYN+ACK
  3. ACK

Den första ramen skickas alltid av klienten till servern. Låt oss förstå detta från ett enkelt diagram:



'KLIENT-SERVER'

Ram1: Klienten skickar SYN-ram till server------------------------------------------>

<--------------------------------------------Server skickar SYN+ACK-ram till klient: Frame2

Ram3: Klienten skickar ACK-ramen till servern ------------------------------------------>

Vi kan se dessa tre ramar i Wireshark. 'tcp'-filtret kan användas i Wireshark för att se alla TCP-ramar. Här är skärmdumpen för de tre ramarna:





Låt oss nu förstå alla tre ramarna i detalj:



SYN

Denna ram innehåller mycket information om klientens möjligheter att informera servern. Följande skärmdump visar alla viktiga fält i SYN-ramen:

Här är de viktiga fälten för SYN-ramen:

Källport: 50602
Destinationshamn: 80
Sekvensnummer: 0
Kvittensnummer: 0
Rubrikens längd: 32 byte
Flaggor: 0x002 (SYN):
Bekräftelse: Ej inställd
Push: Ej inställd
Återställ: Ej ​​inställd
Syn: Set  -----> Denna bit är inställd eftersom detta är en SYN-ram.
Fin: Ej inställd

Fönster: 65535
Brådskande pekare: 0
TCP-alternativ - Maximal segmentstorlek: 1460 byte
TCP-alternativ - Fönsterskala: 3 (multiplicera med 8)
TCP-alternativ - SACK tillåtet

SYN+ACK

Denna ram innehåller mycket information om serverns möjligheter att informera klienten. Följande skärmdump visar alla viktiga fält i SYN+ACK-ramen:

Denna ram bekräftar också SYN-ramen som skickas av klienten.

Här är de viktiga fälten för SYN+ACK-ramen:

Källport: 80
Destinationshamn: 50602
Sekvensnummer: 0
Bekräftelsenummer: 1

Rubrikens längd: 32 byte (8)
Flaggor: 0x012 (SYN, ACK)
Bekräftelse: Ställ in
Push: Ej inställd
Återställ: Ej ​​inställt
Hans: Set
Fin: Ej inställd

Fönster: 29200
Brådskande pekare: 0
TCP-alternativ - Maximal segmentstorlek: 1412 byte
TCP-alternativ - SACK tillåtet
TCP-alternativ - Fönsterskala: 7 (multiplicera med 128)

Vi kan se att 'Acknowledge' och 'SYN' bitar är inställda i denna ram. Detta beror på att denna ram är SYN+ACK.

ACK

Den här ramen är den sista ramen i 3-vägshandskakningen och även bekräftelsen av SYN+ACK av klienten. Följande skärmdump visar alla viktiga fält i ACK-ramen:

Här är de viktiga fälten för ACK-ramen:

Källport: 50602
Destinationshamn: 80
Sekvensnummer: 1
Bekräftelsenummer: 1
Rubrikens längd: 20 byte (5)
Flaggor: 0x010 (ACK)
Brådskande: Ej inställt
Bekräftelse: Ställ in
Push: Ej inställd
Återställ: Ej ​​inställd
Syn: Ej inställd
Fin: Ej inställd

Fönster: 32768

Här är bara 'Acknowledge'-biten inställd eftersom detta är en ACK-ram.

Förklaring till några viktiga vanliga fält

Port 80 : Vi observerade en fast port 80 i denna handledning. Det beror på att detta är en HTTP-insamling och port 80 är fixerad (serversidan) för HTTP-kommunikation.

Sekvensnummer : Sekvensnumret för den ramen. Sync är den första bilden så vi har 0 som ett sekvensnummer.

TCP-flaggor:

Bekräftelse – Denna bit ställs in om ramen är en ACK. Exempel: SYN+ACK, ACK-ram.

SYN – Denna bit ställs in om ramen är en SYN. Exempel: SYN.

Fönster : Det här fältet delar avsändarens maximala fönsterstorlek i mottagningsläge. Exempel: Vi har fönsterstorleken 65535 byte i SYN-ramen. Detta innebär att mottagaren kan ta emot maximalt TCP-data på 65535 byte vid vilken tidpunkt som helst.

SÄCK Tillåten : Denna bit ställs in om sändning stöder SACK [selektiv bekräftelse].

Maximal segmentstorlek : Vi kan också kalla det MSS. Detta definierar den maximala dataram som avsändaren kan ta emot. Exempel: Vi får MSS som 1460 byte i SYN-ramen.

Slutsats

Vi lärde oss om TCP 3-vägs handskakning och alla användbara fält för SYN-, SYN+ACK- och ACK-ramar. Om du vill lära dig mer om TCP kan du följa denna RFC-länk https://tools.ietf.org/html/rfc793 .