Wireshark

Analýza zachytávania paketov TCP

Analýza zachytávania paketov TCP

Čo je to TCP?

TCP (Transmission Control Protocol) je protokol transportnej vrstvy zameraný na pripojenie.

Zámer tohto článku:

Porozumieť celému TCP nie je ľahká úloha. V tomto článku sa pokúsime pochopiť základné výmeny paketov TCP prostredníctvom Wireshark. Teóriu je možné prečítať cez internet. Zameriame sa viac na analýzu zachytávania paketov.

Prečo je TCP slávny?

Existuje niekoľko dôvodov, prečo je TCP taký slávny:

  1. TCP je protokol zameraný na pripojenie, takže spoľahlivosť je veľmi vysoká.
  2. TCP môže kontrolovať preťaženie sám.
  3. TCP dokáže zistiť chybu.
  4. TCP používa protokol riadenia toku.
  5. TCP má funkcie ACK s oneskorením.
  6. TCP má selektívnu funkciu ACK.
  7. TCP má funkciu volania cez Windows na zlepšenie priepustnosti.

Existuje toľko ďalších funkcií, vďaka ktorým je TCP taký slávny.

Analýza TCP:

Pri generovaní rámcov TCP budeme postupovať podľa niektorých krokov.

Krok 1: Jednoduchý spôsob generovania paketov TCP je prístup na akýkoľvek web HTTP. Dôvod je ten, že HTTP je protokol aplikačnej vrstvy a ako základný protokol transportnej vrstvy používa TCP.

Ak sa chcete dozvedieť viac o protokole HTTP, kliknite na nasledujúci odkaz

https: // linuxhint.com / http_wireshark /

Krok 2: Spustite Wireshark.

Krok 3: Otvorte pod odkazom v ľubovoľnom prehliadači.

http: // gaia.cs.umass.edu / wirehark-labs / alice.TXT

Krok 4: Zastavte Wireshark a dajte TCP ako filter.

Krok 5: ANALÝZA

Teraz by sme mali vidieť pakety TCP 3-way handshake. Tu je jednoduchý diagram.

Rám 1: SYN [Synchronaziation]

SYN je prvý paket prichádzajúci od klienta k serveru. V našom prípade 192.168.1.6 je klient [systém, v ktorom sme otvorili prehliadač] a gaia.cs.umass.edu je server.

Tu je niekoľko dôležitých polí v rámci SYN

Na odoslanie schopností klienta na server sa vyžaduje rámec SYN.

Rám 2: SYN + ACK [Synchronaziation + Acknowledgement]

SYN, ACK je druhý paket prichádzajúci zo servera na klienta.

Tu je niekoľko dôležitých polí v rámci SYN, ACK

Na odoslanie schopností servera klientovi sa vyžaduje rámec SYN, ACK.

Teraz sa klient a server podelili o svoje schopnosti.

Rám 3: ACK [Potvrdenie]

ACK je tretí paket prichádzajúci od klienta k serveru. Toto je v podstate potvrdenie od klienta k serveru a tiež je to prijatie schopností odoslaných serverom.

Tu sú dôležité polia pre ACK.

Poďme skontrolovať dôležité informácie zdieľané medzi klientom a serverom:

ZákazníkServer

Veľkosť prijímaného okna: 64240 bajtov                          Veľkosť prijímaného okna: 29 200 bajtov

Maximálna veľkosť segmentu: 1 460 bajtov                         Maximálna veľkosť segmentu: 1412 bajtov

Vrecko povolené: Áno                                                 Vrecko povolené: Áno

Stupnica okna: 8 (vynásobte 256)                          Stupnica okna: 7 (vynásobte 128)

Všimli sme si, že existujú rozdiely v hodnotách. Ak klient alebo server akceptuje možnosti iných, potom je úspešné trojstranné nadviazanie spojenia.

Hlavička TCP:

Tu sú dôležité polia hlavičky TCP:

  1. Zdrojový port (16 bitov): Toto je odosielajúci port.
Príklad: Zdrojový port: 50026 (50026)
  1. Cieľový port (16 bitov): Toto je prijímajúci port.
Príklad: Cieľový port: http (80)
  1. Poradové číslo (32 bitov):
Príklad: Poradové číslo: 0 (relatívne poradové číslo)
  1. Číslo potvrdenia (32 bitov): Ak je nastavený príznak ACK, potom hodnota tohto poľa je ďalšie poradové číslo, ktoré očakáva odosielateľ ACK.
Príklad: Číslo potvrdenia: 0
  1. Dĺžka hlavičky: Veľkosť hlavičky sa môže pohybovať od 20 bajtov a maximálne 60 bajtov.
Príklad: 1 000… = dĺžka hlavičky: 32 bajtov (8)
  1. Vlajky (9 bitov):
Príklad:
… = Rezervované: Nenastavené
… 0… = Nonce: nenastavené
… 0… = Okno preťaženia znížené (CWR): Nenastavené
… 0… = ECN-Echo: nenastavené
… 0… = urgentné: nenastavené
… 0… = Potvrdenie: Nie je nastavené
… 0… = Push: nenastavené
… 0… = Reset: nenastavené
… 1. = Syn: Nastaviť
… 0 = plutva: nenastavené
  1. Veľkosť okna (16 bitov): Toto je veľkosť prijímacieho okna v bajtoch.
Príklad: Hodnota veľkosti okna: 64240
  1. Kontrolný súčet (16 bitov):

Používa sa na kontrolu chýb hlavičky.

Príklad: Kontrolný súčet: 0x436f
  1. Naliehavý ukazovateľ (16 bitov):

Toto je posun od poradového čísla označujúceho posledný urgentný dátový bajt.

Príklad: urgentný ukazovateľ: 0
  1. možnosti:
Príklad:
Možnosť TCP - maximálna veľkosť segmentu: 1460 bajtov
Možnosť TCP - bez prevádzky (NOP)
Možnosť TCP - mierka okna: 8 (vynásobte 256)
Možnosť TCP - povolené SACK

Pozorovanie:

Veľkosť TCP hlavičky SYN je 32 bajtov.

Veľkosť TCP hlavičky SYN, ACK je 32 bajtov.

TCP hlavička má veľkosť ACK 20 bajtov, pretože nemá voliteľné polia.

Údaje TCP:

Tu je snímka obrazovky s vysvetlením údajov TCP a TCP ACK. Tu môžeme vidieť funkciu TCP delay ACK. Server poslal tri dátové pakety TCP klientovi a klient poslal jedno oneskorenie ACK, aby oznámil serveru, že prijal všetky tri dátové pakety TCP. Preto v TCP ACK [číslo paketu 96 na snímke obrazovky] vidíme ACK = 14121, čo znamená, že klient dostal do 14121 bajtov.

Referencia:

Základné teórie TCP pozri

https: // en.wikipedia.org / wiki / Transmission_Control_Protocol

Hry Ako vyvíjať hru v systéme Linux
Ako vyvíjať hru v systéme Linux
Pred desiatimi rokmi by len málo používateľov Linuxu predpovedalo, že ich obľúbený operačný systém bude jedného dňa populárnou hernou platformou pre k...
Hry Open source porty komerčných herných strojov
Open source porty komerčných herných strojov
Na hranie starých i niektorých z nedávnych herných titulov je možné využiť bezplatné hry s otvoreným zdrojom a multiplatformové herné enginy. V tomto ...
Hry Najlepšie hry z príkazového riadku pre systém Linux
Najlepšie hry z príkazového riadku pre systém Linux
Príkazový riadok nie je pri použití systému Linux iba vaším najväčším spojencom - môže byť tiež zdrojom zábavy, pretože ho môžete použiť na hranie mno...