TCP 3-Way Handsake Analysis in Wireshark

Tcp 3 Way Handsake Analysis In Wireshark



A Transmission Control Protocol egy nagyon fontos protokoll az OSI vagy TCP/IP modell szállítási rétegében. A TCP-nek számos előnye van, például:

  • A TCP újraküldi, ha az elküldött adatokat a vevő bizonyos időn belül nem nyugtázza.
  • A TCP az adatok elküldése előtt kapcsolatot létesít. Ezt a kapcsolatot háromirányú kézfogásnak nevezzük.
  • A TCP torlódás-ellenőrző mechanizmussal rendelkezik.
  • A TCP bizonyos módszerek segítségével képes észlelni a hibát.

Tanuljunk elsősorban a TCP 3-way kézfogásról. Ismerjük meg a Wireshark háromirányú kézfogásának fontos területeit is.







3-utas kézfogás

Három képkockacsere történik háromirányú kézfogásban:



  1. SYN
  2. NÉZET+VISSZA
  3. ACK

Az első keretet mindig a kliens küldi el a szervernek. Értsük meg ezt egy egyszerű diagramból:



„ÜGYFÉL” „SZERVER”

Frame1: Az ügyfél SYN keretet küld a szervernek ------------------------------------>

<------------------------------------------- A szerver SYN+ACK keretet küld ügyfélnek: Frame2

Frame3: Az ügyfél ACK keretet küld a szervernek ------------------------------------->

Ezt a három képkockát láthatjuk a Wiresharkban. A „tcp” szűrő használható a Wiresharkban az összes TCP-keret megtekintéséhez. Íme a képernyőkép a három képkockáról:





Nézzük most részletesen mindhárom keretet:



SYN

Ez a keret sok információt tartalmaz az ügyfél azon képességeiről, hogy tájékoztassa a szervert. A következő képernyőképen a SYN keret összes fontos mezője látható:

Itt vannak a SYN keret fontos mezői:

Forrás port: 50602
Célkikötő: 80
Sorozatszám: 0
Az elismerés száma: 0
Fejléc hossza: 32 bájt
Jelzők: 0x002 (SYN):
Nyugtázás: Nincs beállítva
Push: Nincs beállítva
Visszaállítás: Nincs beállítva
Syn: Set  -----> Ez a bitkészlet, mert ez egy SYN keret.
Fin: Nincs beállítva

Ablak: 65535
Sürgős mutató: 0
TCP opció – Maximális szegmensméret: 1460 bájt
TCP opció – Ablak léptéke: 3 (szorozzuk 8-cal)
TCP opció – SACK engedélyezett

NÉZET+VISSZA

Ez a keret sok információt tartalmaz a szerver azon képességeiről, hogy tájékoztassa az ügyfeleket. A következő képernyőképen a SYN+ACK keret összes fontos mezője látható:

Ez a keret nyugtázza az ügyfél által küldött SYN keretet is.

Itt vannak a SYN+ACK keret fontos mezői:

Forrás Port: 80
Célkikötő: 50602
Sorozatszám: 0
Az elismervény száma: 1

Fejléc hossza: 32 bájt (8)
Jelzők: 0x012 (SYN, ACK)
Nyugtázás: Készlet
Push: Nincs beállítva
Visszaállítás: Nincs beállítva
Övé: Készlet
Fin: Nincs beállítva

Ablak: 29200
Sürgős mutató: 0
TCP opció – Maximális szegmensméret: 1412 bájt
TCP opció – SACK engedélyezett
TCP opció – Ablak léptéke: 7 (szorozd meg 128-cal)

Láthatjuk, hogy ebben a keretben az „Acknowledge” és „SYN” bitek vannak beállítva. Ez azért van, mert ez a keret SYN+ACK.

ACK

Ez a keret a 3 irányú kézfogás utolsó kerete, valamint a SYN+ACK ügyfél általi nyugtázása. A következő képernyőképen az ACK keret összes fontos mezője látható:

Itt vannak az ACK keret fontos mezői:

Forrás port: 50602
Célkikötő: 80
Sorozatszám: 1
Az elismervény száma: 1
Fejléc hossza: 20 bájt (5)
Jelzők: 0x010 (ACK)
Sürgős: nincs beállítva
Nyugtázás: Készlet
Push: Nincs beállítva
Visszaállítás: Nincs beállítva
Syn: Nincs beállítva
Fin: Nincs beállítva

Ablak: 32768

Itt csak az „Acknowledge” bit van beállítva, mert ez egy ACK keret.

Magyarázat néhány fontos közös mezőhöz

80-as port : Ebben az oktatóanyagban egy rögzített 80-as portot figyeltünk meg. Ez azért van, mert ez egy HTTP-rögzítés, és a 80-as port rögzített (szerveroldali) a HTTP-kommunikációhoz.

Sorszám : Az adott keret sorszáma. A szinkron az első képkocka, így sorszámunk 0.

TCP zászlók:

Elismerés – Ez a bit akkor van beállítva, ha a keret ACK. Példa: SYN+ACK, ACK keret.

SYN – Ez a bit akkor van beállítva, ha a keret SYN. Példa: SYN.

Ablak : Ez a mező a küldő maximális ablakméretét osztja meg fogadási módban. Példa: A SYN keretben az ablak mérete 65535 bájt. Ez azt jelenti, hogy a vevő maximálisan 65535 bájt TCP adatot fogadhat bármikor.

SACK Engedélyezett : Ez a bit akkor van beállítva, ha a küldés támogatja a SACK [szelektív nyugtázás] funkciót.

Maximális szegmensméret : Nevezhetjük MSS-nek is. Ez határozza meg azt a maximális adatkeretet, amelyet a küldő fogadhat. Példa: Az MSS-t 1460 bájtként kapjuk meg a SYN keretben.

Következtetés

Megismertük a TCP 3-way handshake-t és a SYN, SYN+ACK és ACK keretek összes hasznos mezőjét. Ha többet szeretne megtudni a TCP-ről, kövesse ezt az RFC hivatkozást https://tools.ietf.org/html/rfc793 .