TCP 3-Way Handsake analiza v Wiresharku

Tcp 3 Way Handsake Analiza V Wiresharku



Protokol za nadzor prenosa je zelo pomemben protokol v transportni plasti za model OSI ali TCP/IP. TCP ima številne prednosti, kot so:

  • TCP izvede ponoven prenos, če prejemnik v določenem času ne potrdi katerega koli poslanega podatka.
  • TCP pred pošiljanjem podatkov vzpostavi neko povezavo. To povezavo imenujemo 3-smerno rokovanje.
  • TCP ima mehanizem za nadzor prezasedenosti.
  • TCP lahko zazna napako z nekaterimi metodami.

Učimo se predvsem na tristranskem rokovanju TCP. Spoznajmo tudi pomembna polja v Wiresharku za tristransko rokovanje.







3-smerno rokovanje

V trismernem rokovanju se zgodijo tri izmenjave okvirjev:



  1. SYN
  2. OGLED+POTRDI
  3. POTRDI

Prvi okvir odjemalec vedno pošlje strežniku. Naj to razumemo iz preprostega diagrama:



“ODJEMKA” “STREŽNIK”

Frame1: odjemalec pošlje okvir SYN strežniku----------------------------------->

<------------------------------------------Strežnik pošlje okvir SYN+ACK stranki: Frame2

Frame3: odjemalec pošlje okvir ACK strežniku----------------------------------->

Te tri okvirje lahko vidimo v Wiresharku. Filter »tcp« lahko uporabite v Wiresharku za ogled vseh okvirjev TCP. Tukaj je posnetek zaslona za tri okvirje:





Zdaj podrobneje razumemo vse tri okvirje:



SYN

Ta okvir vsebuje veliko informacij o zmožnostih odjemalca za obveščanje strežnika. Naslednji posnetek zaslona prikazuje vsa pomembna polja okvirja SYN:

Tukaj so pomembna polja za okvir SYN:

Izvorna vrata: 50602
Namembna vrata: 80
Zaporedna številka: 0
Številka zahvale: 0
Dolžina glave: 32 bajtov
Zastavice: 0x002 (SYN):
Potrditev: Ni nastavljeno
Push: Ni nastavljeno
Ponastavi: Ni nastavljeno
Syn: Set  -----> Ta bit je nastavljen, ker je to okvir SYN.
Fin: Ni nastavljeno

Okno: 65535
Nujni kazalec: 0
Možnost TCP - največja velikost segmenta: 1460 bajtov
Možnost TCP - Merilo okna: 3 (pomnožite z 8)
Možnost TCP - SACK dovoljen

OGLED+POTRDI

Ta okvir vsebuje veliko informacij o zmožnostih strežnika za obveščanje odjemalca. Naslednji posnetek zaslona prikazuje vsa pomembna polja okvirja SYN+ACK:

Ta okvir prav tako potrjuje okvir SYN, ki ga pošlje odjemalec.

Tukaj so pomembna polja za okvir SYN+ACK:

Izvorna vrata: 80
Namembna vrata: 50602
Zaporedna številka: 0
Številka zahvale: 1

Dolžina glave: 32 bajtov (8)
Oznake: 0x012 (SYN, ACK)
Potrditev: Set
Push: Ni nastavljeno
Ponastavi: Ni nastavljeno
Njegov: Set
Fin: Ni nastavljeno

Okno: 29200
Nujni kazalec: 0
Možnost TCP - največja velikost segmenta: 1412 bajtov
Možnost TCP - SACK dovoljen
Možnost TCP - Merilo okna: 7 (pomnoženo s 128)

Vidimo lahko, da sta v tem okviru nastavljena bita »Acknowledge« in »SYN«. To je zato, ker je ta okvir SYN+ACK.

POTRDI

Ta okvir je zadnji okvir 3-smernega rokovanja in tudi potrditev SYN+ACK s strani odjemalca. Naslednji posnetek zaslona prikazuje vsa pomembna polja okvirja ACK:

Tukaj so pomembna polja za okvir ACK:

Izvorna vrata: 50602
Namembna vrata: 80
Zaporedna številka: 1
Številka zahvale: 1
Dolžina glave: 20 bajtov (5)
Zastavice: 0x010 (ACK)
Nujno: Ni nastavljeno
Potrditev: Set
Push: Ni nastavljeno
Ponastavi: Ni nastavljeno
Syn: Ni nastavljeno
Fin: Ni nastavljeno

Okno: 32768

Tukaj je nastavljen samo bit »Acknowledge«, ker je to okvir ACK.

Razlaga nekaterih pomembnih skupnih polj

Vrata 80 : V tej vadnici smo opazili ena fiksna vrata 80. To je zato, ker je to zajem HTTP in so vrata 80 fiksna (strežniška stran) za komunikacijo HTTP.

Zaporedna številka : Zaporedna številka tega okvira. Sinhronizacija je prvi okvir, zato imamo 0 kot zaporedno številko.

TCP zastavice:

Priznanje – Ta bit je nastavljen, če je okvir ACK. Primer: SYN+ACK, okvir ACK.

SYN – Ta bit je nastavljen, če je okvir SYN. Primer: SYN.

Okno : to polje deli največjo velikost okna pošiljatelja v načinu sprejema. Primer: v okviru SYN imamo velikost okna 65535 bajtov. To pomeni, da lahko sprejemnik kadar koli prejme podatke TCP največ 65535 bajtov.

VREČA Dovoljeno : Ta bit je nastavljen, če pošiljanje podpira SACK [selektivna potrditev].

Največja velikost segmenta : Lahko mu rečemo tudi MSS. To določa največji podatkovni okvir, ki ga pošiljatelj lahko prejme. Primer: MSS dobimo kot 1460 bajtov v okviru SYN.

Zaključek

Spoznali smo tristransko rokovanje TCP in vsa uporabna polja za okvire SYN, SYN+ACK in ACK. Če želite izvedeti več o TCP, lahko sledite tej povezavi RFC https://tools.ietf.org/html/rfc793 .