TCP 3-Way Handsake analiza u Wiresharku

Tcp 3 Way Handsake Analiza U Wiresharku



Transmission Control Protocol je vrlo važan protokol u transportnom sloju za OSI ili TCP/IP model. TCP ima mnoge prednosti kao što su:

  • TCP vrši ponovni prijenos ako primatelj ne potvrdi bilo koji poslani podatak unutar nekog vremena.
  • TCP uspostavlja neku vezu prije slanja podataka. Tu vezu nazivamo trosmjernim rukovanjem.
  • TCP ima mehanizam kontrole zagušenja.
  • TCP može otkriti pogrešku pomoću nekih metoda.

Učimo uglavnom o TCP trosmjernom rukovanju. Naučimo također o važnim poljima u Wiresharku za trosmjerno rukovanje.







3-smjerno rukovanje

Postoje tri razmjene okvira koje se događaju u trosmjernom rukovanju:



  1. SYN
  2. POGLED+POTVRDA
  3. ACK

Prvi okvir uvijek šalje klijent poslužitelju. Razumimo ovo iz jednostavnog dijagrama:



“KLIJENT” “SERVER”

Okvir1: Klijent šalje SYN okvir poslužitelju----------------------------------->

<------------------------------------------Poslužitelj šalje SYN+ACK okvir klijentu: Frame2

Frame3: Klijent šalje ACK okvir poslužitelju----------------------------------->

Ova tri okvira možemo vidjeti u Wiresharku. Filter “tcp” može se koristiti u Wiresharku za pregled svih TCP okvira. Evo snimke zaslona za tri okvira:





Razmotrimo sada detaljnije sva tri okvira:



SYN

Ovaj okvir sadrži mnogo informacija o mogućnostima klijenta da informira poslužitelj. Sljedeća snimka zaslona prikazuje sva važna polja okvira SYN:

Ovdje su važna polja za SYN okvir:

Izvorni port: 50602
Odredišna luka: 80
Redni broj: 0
Broj zahvalnice: 0
Duljina zaglavlja: 32 bajta
Oznake: 0x002 (SYN):
Potvrda: Nije postavljeno
Guranje: nije postavljeno
Ponovno postavljanje: nije postavljeno
Syn: Postavi  -----> Ovaj bit postavljen jer je ovo SYN okvir.
Peraje: Nije postavljeno

Prozor: 65535
Hitan pokazivač: 0
TCP opcija - Maksimalna veličina segmenta: 1460 bajtova
TCP opcija - Skala prozora: 3 (množenje s 8)
TCP opcija - SACK dopušten

POGLED+POTVRDA

Ovaj okvir sadrži mnogo informacija o sposobnostima poslužitelja da informira klijenta. Sljedeća snimka zaslona prikazuje sva važna polja okvira SYN+ACK:

Ovaj okvir također potvrđuje SYN okvir koji šalje klijent.

Ovdje su važna polja za okvir SYN+ACK:

Izvorni priključak: 80
Odredišna luka: 50602
Redni broj: 0
Broj zahvalnice: 1

Duljina zaglavlja: 32 bajta (8)
Oznake: 0x012 (SYN, ACK)
Priznanje: Postavljeno
Guranje: nije postavljeno
Ponovno postavljanje: nije postavljeno
Njegov: Set
Peraje: Nije postavljeno

Prozor: 29200
Hitan pokazivač: 0
TCP opcija - Maksimalna veličina segmenta: 1412 bajtova
TCP opcija - SACK dopušten
TCP opcija - Skala prozora: 7 (množenje sa 128)

Vidimo da su bitovi “Acknowledge” i “SYN” postavljeni u ovom okviru. To je zato što je ovaj okvir SYN+ACK.

ACK

Ovaj okvir je posljednji okvir trosmjernog rukovanja i također potvrda SYN+ACK od strane klijenta. Sljedeća snimka zaslona prikazuje sva važna polja okvira ACK:

Ovdje su važna polja za ACK okvir:

Izvorni port: 50602
Odredišna luka: 80
Redni broj: 1
Broj zahvalnice: 1
Duljina zaglavlja: 20 bajtova (5)
Oznake: 0x010 (ACK)
Hitno: Nije postavljeno
Priznanje: Postavljeno
Guranje: nije postavljeno
Ponovno postavljanje: nije postavljeno
Syn: Nije postavljeno
Peraje: Nije postavljeno

Prozor: 32768

Ovdje je postavljen samo bit 'Acknowledge' jer je ovo ACK okvir.

Objašnjenje za neka važna uobičajena polja

Priključak 80 : Promotrili smo jedan fiksni priključak 80 u ovom vodiču. To je zato što je ovo HTTP snimanje i port 80 je fiksan (na strani poslužitelja) za HTTP komunikaciju.

Redni broj : Redni broj tog okvira. Sinkronizacija je prvi okvir tako da imamo 0 kao redni broj.

TCP zastavice:

Priznanje – Ovaj bit je postavljen ako je okvir ACK. Primjer: SYN+ACK, ACK okvir.

SYN – Ovaj bit je postavljen ako je okvir SYN. Primjer: SYN.

Prozor : Ovo polje dijeli maksimalnu veličinu prozora pošiljatelja u načinu primanja. Primjer: Imamo veličinu prozora od 65535 bajtova u SYN okviru. To znači da primatelj može primiti maksimalno TCP podatke od 65535 bajtova u bilo kojem trenutku.

VREĆA Dopušteno : Ovaj bit je postavljen ako slanje podržava SACK [selektivna potvrda].

Maksimalna veličina segmenta : Možemo to nazvati i MSS. Ovo definira maksimalni okvir podataka koji pošiljatelj može primiti. Primjer: dobivamo MSS kao 1460 bajtova u SYN okviru.

Zaključak

Naučili smo o TCP trosmjernom rukovanju i svim korisnim poljima za okvire SYN, SYN+ACK i ACK. Ako želite saznati više o TCP-u, možete slijediti ovu RFC vezu https://tools.ietf.org/html/rfc793 .