TCP 3 krypčių rankų darbo analizė Wireshark

Tcp 3 Krypciu Ranku Darbo Analize Wireshark



Perdavimo valdymo protokolas yra labai svarbus OSI arba TCP/IP modelio transporto sluoksnio protokolas. TCP turi daug privalumų, pavyzdžiui:

  • TCP persiunčia pakartotinai, jei gavėjas per tam tikrą laiką nepatvirtina išsiųstų duomenų.
  • TCP užmezga tam tikrą ryšį prieš siųsdamas duomenis. Šį ryšį vadiname trijų krypčių rankos paspaudimu.
  • TCP turi perkrovos valdymo mechanizmą.
  • TCP gali aptikti klaidą naudodamas kai kuriuos metodus.

Daugiausia pasimokykime apie TCP 3 krypčių rankos paspaudimą. Taip pat sužinokime apie svarbius „Wireshark“ laukus, skirtus trijų krypčių rankos paspaudimui.







3 krypčių rankos paspaudimas

Yra trys kadrų mainai, vykstantys 3 krypčių rankos paspaudimu:



  1. SYN
  2. PERŽIŪRĖTI+ATKLAUSTI
  3. AK

Pirmąjį kadrą klientas visada siunčia serveriui. Supraskime tai iš paprastos diagramos:



'KLIENTO SERVERIS'

Frame1: klientas siunčia SYN kadrą į serverį ------------------------------------->

<------------------------------------------- Serveris siunčia SYN+ACK kadrą klientui: Frame2

Frame3: klientas siunčia ACK kadrą į serverį ------------------------------------->

Šiuos tris kadrus galime pamatyti „Wireshark“. „tcp“ filtrą galima naudoti „Wireshark“, kad matytumėte visus TCP kadrus. Štai trijų kadrų ekrano kopija:





Dabar išsamiai supraskime visus tris kadrus:



SYN

Šiame rėmelyje yra daug informacijos apie kliento galimybes informuoti serverį. Šioje ekrano kopijoje rodomi visi svarbūs SYN rėmo laukai:

Čia yra svarbūs SYN rėmo laukai:

Šaltinio prievadas: 50602
Paskirties uostas: 80
Eilės numeris: 0
Patvirtinimo numeris: 0
Antraštės ilgis: 32 baitai
Žymės: 0x002 (SYN):
Patvirtinimas: nenustatyta
Stūmimas: nenustatytas
Atstatyti: nenustatyta
Sin: rinkinys -----> Šis bitų rinkinys, nes tai yra SYN kadras.
Finas: nenustatytas

Langas: 65535
Skubus rodyklė: 0
TCP parinktis – maksimalus segmento dydis: 1460 baitų
TCP parinktis – lango skalė: 3 (padauginkite iš 8)
TCP parinktis – SACK leidžiamas

PERŽIŪRĖTI+ATKLAUSTI

Šiame rėmelyje yra daug informacijos apie serverio galimybes informuoti klientą. Šioje ekrano kopijoje rodomi visi svarbūs SYN+ACK rėmelio laukai:

Šis kadras taip pat patvirtina kliento išsiųstą SYN kadrą.

Čia yra svarbūs SYN+ACK rėmo laukai:

Šaltinio prievadas: 80
Paskirties uostas: 50602
Eilės numeris: 0
Patvirtinimo numeris: 1

Antraštės ilgis: 32 baitai (8)
Žymės: 0x012 (SYN, ACK)
Patvirtinimas: Nustatyti
Stūmimas: nenustatytas
Atstatyti: nenustatyta
Jo: Nustatykite
Finas: nenustatytas

Langas: 29200
Skubus rodyklė: 0
TCP parinktis – maksimalus segmento dydis: 1412 baitų
TCP parinktis – SACK leidžiamas
TCP parinktis – lango skalė: 7 (padauginkite iš 128)

Matome, kad šiame kadre nustatyti bitai „Acknowledge“ ir „SYN“. Taip yra todėl, kad šis rėmelis yra SYN+ACK.

AK

Šis kadras yra paskutinis 3 krypčių rankos paspaudimo kadras, taip pat kliento patvirtinimas SYN+ACK. Šioje ekrano kopijoje rodomi visi svarbūs ACK rėmelio laukai:

Čia yra svarbūs ACK rėmelio laukai:

Šaltinio prievadas: 50602
Paskirties uostas: 80
Eilės numeris: 1
Patvirtinimo numeris: 1
Antraštės ilgis: 20 baitų (5)
Vėliavos: 0x010 (ACK)
Skubu: nenustatyta
Patvirtinimas: Nustatyti
Stūmimas: nenustatytas
Atstatyti: nenustatyta
Sin: nenustatyta
Finas: nenustatytas

Langas: 32768

Čia nustatytas tik „Patvirtinimo“ bitas, nes tai yra ACK rėmelis.

Kai kurių svarbių bendrų laukų paaiškinimas

80 prievadas : Šioje pamokoje stebėjome vieną fiksuotą 80 prievadą. Taip yra todėl, kad tai yra HTTP fiksavimas, o 80 prievadas yra fiksuotas (serverio pusėje) HTTP ryšiui.

Eilės numeris : to kadro eilės numeris. Sinchronizavimas yra pirmasis kadras, todėl eilės numeris yra 0.

TCP vėliavėlės:

Pripažinimas – Šis bitas nustatomas, jei kadras yra ACK. Pavyzdys: SYN+ACK, ACK rėmelis.

SYN – Šis bitas nustatomas, jei kadras yra SYN. Pavyzdys: SYN.

Langas : Šiame lauke bendrinamas maksimalus siuntėjo lango dydis gavimo režimu. Pavyzdys: SYN rėmelyje turime 65535 baitų lango dydį. Tai reiškia, kad imtuvas bet kuriuo metu gali priimti didžiausius 65535 baitų TCP duomenis.

MAIŠAS Leidžiama : Šis bitas nustatomas, jei siuntimas palaiko SACK [selektyvus patvirtinimas].

Maksimalus segmento dydis : Taip pat galime vadinti MSS. Tai apibrėžia didžiausią duomenų kadrą, kurį siuntėjas gali gauti. Pavyzdys: MSS gauname kaip 1460 baitų SYN kadre.

Išvada

Sužinojome apie TCP 3 krypčių rankos paspaudimą ir visus naudingus laukus, skirtus SYN, SYN+ACK ir ACK kadrams. Jei norite sužinoti daugiau apie TCP, galite sekti šią RFC nuorodą https://tools.ietf.org/html/rfc793 .