TCP trīsvirzienu rokasspiediena analīze programmā Wireshark

Tcp Trisvirzienu Rokasspiediena Analize Programma Wireshark



Pārraides kontroles protokols ir ļoti svarīgs protokols OSI vai TCP/IP modeļa transporta slānī. TCP ir daudz priekšrocību, piemēram:

  • TCP veic atkārtotu pārsūtīšanu, ja uztvērējs kādu laiku neapstiprina nosūtītos datus.
  • Pirms datu nosūtīšanas TCP izveido savienojumu. Mēs šo savienojumu saucam par trīsvirzienu rokasspiedienu.
  • TCP ir pārslodzes kontroles mehānisms.
  • TCP var noteikt kļūdu, izmantojot dažas metodes.

Mācīsimies galvenokārt par TCP trīsvirzienu rokasspiedienu. Uzzināsim arī par svarīgākajiem Wireshark laukiem trīsvirzienu rokasspiedienam.







Trīsvirzienu rokasspiediens

Ir trīs kadru apmaiņa, kas notiek 3 virzienu rokasspiedienā:



  1. SYN
  2. SKATĪT+ATKĀRTOT
  3. ACK

Pirmo kadru klients vienmēr nosūta serverim. Ļaujiet mums to saprast no vienkāršas diagrammas:



“KLIENTS” “SERVERIS”

Frame1: klients nosūta SYN rāmi serverim ------------------------------------>

<-------------------------------------------- Serveris nosūta SYN+ACK rāmi klientam: Frame2

Frame3: klients nosūta ACK rāmi serverim ------------------------------------->

Mēs varam redzēt šos trīs kadrus Wireshark. “tcp” filtru var izmantot programmā Wireshark, lai redzētu visus TCP kadrus. Šeit ir trīs kadru ekrānuzņēmums:





Ļaujiet mums tagad sīkāk izprast visus trīs kadrus:



SYN

Šis ietvars satur daudz informācijas par klienta iespējām informēt serveri. Šis ekrānuzņēmums parāda visus svarīgos SYN rāmja laukus:

Šeit ir svarīgi SYN rāmja lauki:

Avota ports: 50602
Galamērķa osta: 80
Kārtas numurs: 0
Apstiprinājuma numurs: 0
Galvenes garums: 32 baiti
Karogi: 0x002 (SYN):
Apstiprinājums: nav iestatīts
Push: nav iestatīts
Atiestatīt: nav iestatīts
Syn: Set -----> Šī bitu kopa, jo tas ir SYN rāmis.
Fin: nav iestatīts

Logs: 65535
Steidzams rādītājs: 0
TCP opcija — maksimālais segmenta lielums: 1460 baiti
TCP opcija — loga skala: 3 (reizināt ar 8)
TCP opcija — SACK atļauts

SKATĪT+ATKĀRTOT

Šajā ietvarā ir daudz informācijas par servera iespējām informēt klientu. Šajā ekrānuzņēmumā ir parādīti visi svarīgie SYN+ACK rāmja lauki:

Šis rāmis apstiprina arī klienta nosūtīto SYN rāmi.

Šeit ir svarīgi lauki SYN+ACK rāmim:

Avota osta: 80
Galamērķa osta: 50602
Kārtas numurs: 0
Pateicības numurs: 1

Galvenes garums: 32 baiti (8)
Karogi: 0x012 (SYN, ACK)
Apstiprinājums: Uzst
Push: nav iestatīts
Atiestatīt: nav iestatīts
Viņa: Set
Fin: nav iestatīts

Logs: 29200
Steidzams rādītājs: 0
TCP opcija — maksimālais segmenta lielums: 1412 baiti
TCP opcija — SACK atļauts
TCP opcija — loga skala: 7 (reizināt ar 128)

Mēs redzam, ka šajā kadrā ir iestatīti biti “Acknowledge” un “SYN”. Tas ir tāpēc, ka šis rāmis ir SYN+ACK.

ACK

Šis kadrs ir pēdējais trīsvirzienu rokasspiediena kadrs, kā arī klienta apstiprinājums par SYN+ACK. Nākamajā ekrānuzņēmumā ir parādīti visi svarīgie ACK rāmja lauki:

Šeit ir svarīgi ACK rāmja lauki:

Avota ports: 50602
Galamērķa osta: 80
Kārtas numurs: 1
Apliecinājuma numurs: 1
Galvenes garums: 20 baiti (5)
Karogi: 0x010 (ACK)
Steidzami: nav iestatīts
Apstiprinājums: Uzst
Push: nav iestatīts
Atiestatīt: nav iestatīts
Sin: nav iestatīts
Fin: nav iestatīts

Logs: 32768

Šeit ir iestatīts tikai “Acknowledge” bits, jo tas ir ACK rāmis.

Dažu svarīgu kopīgu lauku skaidrojums

80. ports : Šajā apmācībā mēs novērojām vienu fiksēto portu 80. Tas ir tāpēc, ka šī ir HTTP tveršana un 80. ports ir fiksēts (servera pusē) HTTP saziņai.

Secības numurs : šī kadra kārtas numurs. Sinhronizācija ir pirmais kadrs, tāpēc mums ir 0 kā kārtas numurs.

TCP karogi:

Atzinība – Šis bits tiek iestatīts, ja rāmis ir ACK. Piemērs: SYN+ACK, ACK rāmis.

SYN – Šis bits ir iestatīts, ja rāmis ir SYN. Piemērs: SYN.

Logs : šis lauks koplieto sūtītāja maksimālo loga izmēru saņemšanas režīmā. Piemērs: SYN rāmī loga izmērs ir 65535 baiti. Tas nozīmē, ka uztvērējs var saņemt maksimālo TCP datu apjomu 65535 baiti jebkurā laikā.

MAISS Atļauts : Šis bits ir iestatīts, ja sūtīšana atbalsta SACK [selektīvs apstiprinājums].

Maksimālais segmenta lielums : Mēs to varam saukt arī par MSS. Tas nosaka maksimālo datu kadru, ko sūtītājs var saņemt. Piemērs: mēs saņemam MSS kā 1460 baitus SYN rāmī.

Secinājums

Mēs uzzinājām par TCP trīsvirzienu rokasspiedienu un visiem noderīgajiem laukiem SYN, SYN+ACK un ACK kadriem. Ja vēlaties uzzināt vairāk par TCP, varat sekot šai RFC saitei https://tools.ietf.org/html/rfc793 .