Analisis Handsake 3-Way TCP dalam Wireshark

Analisis Handsake 3 Way Tcp Dalam Wireshark



Protokol Kawalan Penghantaran ialah protokol yang sangat penting dalam lapisan pengangkutan untuk model OSI atau TCP/IP. Terdapat banyak kelebihan dalam TCP seperti:

  • TCP melakukan penghantaran semula jika mana-mana data yang dihantar tidak diakui oleh penerima dalam beberapa waktu.
  • TCP mewujudkan beberapa sambungan sebelum menghantar data. Kami memanggil sambungan itu sebagai jabat tangan 3 hala.
  • TCP mempunyai mekanisme kawalan kesesakan.
  • TCP boleh mengesan ralat menggunakan beberapa kaedah.

Marilah kita belajar terutamanya mengenai jabat tangan 3 hala TCP. Mari juga belajar tentang medan penting dalam Wireshark untuk jabat tangan 3 hala.







Jabat Tangan 3 Hala

Terdapat tiga pertukaran bingkai yang berlaku dalam jabat tangan 3 hala:



  1. SYN
  2. LIHAT+BALIK
  3. ACK

Bingkai pertama sentiasa dihantar oleh klien ke pelayan. Marilah kita memahami perkara ini daripada rajah mudah:



“PELANGGAN” “SERVER”

Frame1: Pelanggan menghantar bingkai SYN ke pelayan----------------------------------->

<--------------------------------------------------------Pelayan menghantar bingkai SYN+ACK kepada pelanggan: Frame2

Frame3: Pelanggan menghantar bingkai ACK ke pelayan ------------------------------------>

Kita boleh melihat tiga bingkai ini dalam Wireshark. Penapis 'tcp' boleh digunakan dalam Wireshark untuk melihat semua bingkai TCP. Berikut ialah tangkapan skrin untuk tiga bingkai:





Marilah kita memahami ketiga-tiga bingkai secara terperinci:



SYN

Bingkai ini mengandungi banyak maklumat tentang keupayaan klien untuk memaklumkan pelayan. Tangkapan skrin berikut menunjukkan semua medan penting bingkai SYN:

Berikut ialah medan penting untuk bingkai SYN:

Pelabuhan Sumber: 50602
Pelabuhan Destinasi: 80
Nombor Urutan: 0
Nombor Pengakuan: 0
Panjang Pengepala: 32 bait
Bendera: 0x002 (SYN):
Pengakuan: Tidak ditetapkan
Tolak: Tidak ditetapkan
Set semula: Tidak ditetapkan
Syn: Set  -----> Set bit ini kerana ini ialah bingkai SYN.
Fin: Tidak ditetapkan

Tetingkap: 65535
Penunjuk Segera: 0
Pilihan TCP - Saiz segmen maksimum: 1460 bait
Pilihan TCP - Skala tetingkap: 3 (darab dengan 8)
Pilihan TCP - SACK dibenarkan

LIHAT+BALIK

Bingkai ini mengandungi banyak maklumat tentang keupayaan pelayan untuk memaklumkan kepada pelanggan. Tangkapan skrin berikut menunjukkan semua medan penting bingkai SYN+ACK:

Bingkai ini juga mengakui bingkai SYN yang dihantar oleh pelanggan.

Berikut ialah medan penting untuk bingkai SYN+ACK:

Pelabuhan Sumber: 80
Pelabuhan Destinasi: 50602
Nombor Urutan: 0
Nombor Pengakuan: 1

Panjang Pengepala: 32 bait (8)
Bendera: 0x012 (SYN, ACK)
Pengakuan: Set
Tolak: Tidak ditetapkan
Set semula: Tidak ditetapkan
Dia: Set
Fin: Tidak ditetapkan

Tetingkap: 29200
Penunjuk Segera: 0
Pilihan TCP - Saiz segmen maksimum: 1412 bait
Pilihan TCP - SACK dibenarkan
Pilihan TCP - Skala tetingkap: 7 (darab dengan 128)

Kita dapat melihat bahawa bit 'Acknowledge' dan 'SYN' ditetapkan dalam bingkai ini. Ini kerana bingkai ini ialah SYN+ACK.

ACK

Bingkai ini ialah bingkai terakhir jabat tangan 3 hala dan juga pengakuan SYN+ACK oleh pelanggan. Tangkapan skrin berikut menunjukkan semua medan penting bingkai ACK:

Berikut ialah medan penting untuk bingkai ACK:

Pelabuhan Sumber: 50602
Pelabuhan Destinasi: 80
Nombor Urutan: 1
Nombor Pengakuan: 1
Panjang Pengepala: 20 bait (5)
Bendera: 0x010 (ACK)
Urgent: Tidak ditetapkan
Pengakuan: Set
Tolak: Tidak ditetapkan
Set semula: Tidak ditetapkan
Syn: Tidak ditetapkan
Fin: Tidak ditetapkan

Tetingkap: 32768

Di sini, hanya bit 'Akui' ditetapkan kerana ini ialah bingkai ACK.

Penjelasan untuk Beberapa Medan Biasa Penting

Pelabuhan 80 : Kami melihat satu port tetap 80 dalam tutorial ini. Ini kerana ini adalah tangkapan HTTP dan port 80 ditetapkan (sebelah pelayan) untuk komunikasi HTTP.

Nombor Urutan : Nombor jujukan bingkai itu. Penyegerakan ialah bingkai pertama jadi kita mempunyai 0 sebagai nombor urutan.

Bendera TCP:

Pengakuan – Bit ini ditetapkan jika bingkai ialah ACK. Contoh: SYN+ACK, bingkai ACK.

SYN – Bit ini ditetapkan jika bingkai ialah SYN. Contoh: SYN.

Tingkap : Medan ini berkongsi saiz tetingkap maks pengirim dalam mod terima. Contoh: Kami mempunyai saiz tetingkap 65535 bait dalam bingkai SYN. Ini bermakna penerima boleh menerima data TCP maksimum sebanyak 65535 bait pada bila-bila masa.

SACK Dibenarkan : Bit ini ditetapkan jika hantar menyokong SACK [pengakuan terpilih].

Saiz Segmen Maksimum : Kita juga boleh memanggilnya MSS. Ini mentakrifkan bingkai data maksimum yang boleh diterima oleh pengirim. Contoh: Kami mendapat MSS sebagai 1460 bait dalam bingkai SYN.

Kesimpulan

Kami mempelajari tentang jabat tangan 3 hala TCP dan semua medan berguna untuk bingkai SYN, SYN+ACK dan ACK. Jika anda ingin mengetahui lebih lanjut tentang TCP, anda boleh mengikuti pautan RFC ini https://tools.ietf.org/html/rfc793 .