TCP 3-vejs håndsaksanalyse i Wireshark

Tcp 3 Vejs Handsaksanalyse I Wireshark



Transmission Control Protocol er en meget vigtig protokol i transportlag for OSI- eller TCP/IP-modeller. Der er mange fordele ved TCP som:

  • TCP gentransmitterer, hvis nogen sendte data ikke bliver bekræftet af modtageren inden for et stykke tid.
  • TCP etablerer en forbindelse, før dataene sendes. Vi kalder den forbindelse som 3-vejs håndtryk.
  • TCP har overbelastningskontrolmekanisme.
  • TCP kan opdage fejl ved hjælp af nogle metoder.

Lad os hovedsageligt lære om TCP 3-vejs håndtryk. Lad os også lære om de vigtige felter i Wireshark til 3-vejs håndtryk.







3-vejs håndtryk

Der er tre rammeudvekslinger, der sker i et 3-vejs håndtryk:



  1. SYN
  2. VIEW+ACK
  3. ACK

Den første frame sendes altid af klienten til serveren. Lad os forstå dette ud fra et simpelt diagram:



'KLIENT' 'SERVER'

Ramme1: Klient sender SYN-ramme til server------------------------------------------>

<--------------------------------------------Server sender SYN+ACK-ramme til klient: Frame2

Ramme3: Klienten sender ACK-ramme til server----------------------------------->

Vi kan se disse tre rammer i Wireshark. 'tcp'-filteret kan bruges i Wireshark til at se alle TCP-rammer. Her er skærmbilledet til de tre frames:





Lad os nu forstå alle tre rammer i detaljer:



SYN

Denne ramme indeholder mange oplysninger om klientens muligheder for at informere serveren. Følgende skærmbillede viser alle de vigtige felter i SYN-rammen:

Her er de vigtige felter for SYN-rammen:

Kildeport: 50602
Destinationshavn: 80
Sekvensnummer: 0
Kvitteringsnummer: 0
Headerlængde: 32 bytes
Flag: 0x002 (SYN):
Kvittering: Ikke indstillet
Push: Ikke indstillet
Nulstil: Ikke indstillet
Syn: Indstil  -----> Denne bit er indstillet, fordi dette er en SYN-ramme.
Finne: Ikke sat

Vindue: 65535
Urgent pointer: 0
TCP Option - Maksimal segmentstørrelse: 1460 bytes
TCP-indstilling - Vinduesskala: 3 (gang med 8)
TCP Option - SACK tilladt

VIEW+ACK

Denne ramme indeholder mange oplysninger om serverens muligheder for at informere klienten. Følgende skærmbillede viser alle de vigtige felter i SYN+ACK-rammen:

Denne ramme anerkender også den SYN-ramme, der sendes af klienten.

Her er de vigtige felter for SYN+ACK-rammen:

Kildeport: 80
Destinationshavn: 50602
Sekvensnummer: 0
Kvitteringsnummer: 1

Headerlængde: 32 bytes (8)
Flag: 0x012 (SYN, ACK)
Kvittering: Indstil
Push: Ikke indstillet
Nulstil: Ikke indstillet
Hans: Sæt
Finne: Ikke sat

Vindue: 29200
Urgent pointer: 0
TCP Option - Maksimal segmentstørrelse: 1412 bytes
TCP Option - SACK tilladt
TCP Option - Vindues skala: 7 (multiplicer med 128)

Vi kan se, at 'Acknowledge' og 'SYN' bits er sat i denne ramme. Dette skyldes, at denne ramme er SYN+ACK.

ACK

Denne ramme er den sidste ramme i 3-vejs håndtrykket og også klientens bekræftelse af SYN+ACK. Følgende skærmbillede viser alle de vigtige felter i ACK-rammen:

Her er de vigtige felter for ACK-rammen:

Kildeport: 50602
Destinationshavn: 80
Sekvensnummer: 1
Kvitteringsnummer: 1
Overskriftslængde: 20 bytes (5)
Flag: 0x010 (ACK)
Haster: Ikke indstillet
Kvittering: Sæt
Push: Ikke indstillet
Nulstil: Ikke indstillet
Syn: Ikke indstillet
Finne: Ikke sat

Vindue: 32768

Her er kun 'Acknowledge'-bitten indstillet, fordi dette er en ACK-ramme.

Forklaring på nogle vigtige almindelige felter

Port 80 : Vi observerede en fast port 80 i denne øvelse. Det er fordi dette er en HTTP-optagelse, og port 80 er fast (serversiden) til HTTP-kommunikation.

Sekvensnummer : Sekvensnummeret for det billede. Sync er den første frame, så vi har 0 som et sekvensnummer.

TCP-flag:

Anerkendelse – Denne bit indstilles, hvis rammen er en ACK. Eksempel: SYN+ACK, ACK-ramme.

SYN – Denne bit indstilles, hvis rammen er en SYN. Eksempel: SYN.

Vindue : Dette felt deler afsenderens maksimale vinduesstørrelse i modtagetilstand. Eksempel: Vi har vinduesstørrelsen på 65535 bytes i SYN-rammen. Det betyder, at modtageren maksimalt kan modtage TCP-data på 65535 bytes på ethvert tidspunkt.

SÆK tilladt : Denne bit er indstillet, hvis afsendelse understøtter SACK [selektiv bekræftelse].

Maksimal segmentstørrelse : Vi kan også kalde det MSS. Dette definerer den maksimale dataramme, som afsenderen kan modtage. Eksempel: Vi får MSS som 1460 bytes i SYN-rammen.

Konklusion

Vi lærte om TCP 3-vejs håndtryk og alle de nyttige felter til SYN, SYN+ACK og ACK frames. Hvis du vil lære mere om TCP, kan du følge dette RFC-link https://tools.ietf.org/html/rfc793 .