Analisis Handsake TCP 3-Way di Wireshark

Analisis Handsake Tcp 3 Way Di Wireshark



Transmission Control Protocol adalah protokol yang sangat penting dalam transport layer untuk model OSI atau TCP/IP. Ada banyak keuntungan dalam TCP seperti:

  • TCP melakukan transmisi ulang jika ada data yang dikirim tidak diakui oleh penerima dalam beberapa waktu.
  • TCP membuat beberapa koneksi sebelum mengirim data. Kami menyebut koneksi itu sebagai jabat tangan 3 arah.
  • TCP memiliki mekanisme kontrol kemacetan.
  • TCP dapat mendeteksi kesalahan menggunakan beberapa metode.

Mari kita belajar terutama tentang jabat tangan 3 arah TCP. Mari pelajari juga field-field penting di Wireshark untuk 3-way handshake.







Jabat Tangan 3 Arah

Ada tiga pertukaran bingkai yang terjadi dalam jabat tangan 3 arah:



  1. SIN
  2. LIHAT + ACK
  3. ACK

Frame pertama selalu dikirim oleh klien ke server. Mari kita pahami ini dari diagram sederhana:



'SERVER KLIEN'

Frame1: Klien mengirim bingkai SYN ke server ----------------------------------->

<------------------------------------------------------------- Server mengirimkan frame SYN+ACK ke klien: Frame2

Frame3: Klien mengirim bingkai ACK ke server ----------------------------------->

Kita bisa melihat ketiga frame ini di Wireshark. Filter “tcp” dapat digunakan di Wireshark untuk melihat semua frame TCP. Berikut screenshot dari ketiga frame tersebut:





Mari kita pahami ketiga bingkai secara detail:



SIN

Frame ini berisi banyak informasi tentang kemampuan klien untuk menginformasikan server. Tangkapan layar berikut menunjukkan semua bidang penting dari bingkai SYN:

Berikut adalah field-field penting untuk frame SYN:

Port Sumber: 50602
Pelabuhan Tujuan: 80
Nomor urut: 0
Nomor Pengakuan: 0
Panjang Tajuk: 32 byte
Bendera: 0x002 (SYN):
Pengakuan: Tidak disetel
Dorong: Tidak disetel
Setel ulang: Tidak disetel
Syn: Setel  -----> Set bit ini karena ini adalah frame SYN.
Sirip: Tidak disetel

Jendela: 65535
Pointer Mendesak: 0
Opsi TCP - Ukuran segmen maksimum: 1460 byte
Opsi TCP - Skala jendela: 3 (kalikan dengan 8)
Opsi TCP - SACK diizinkan

LIHAT + ACK

Frame ini berisi banyak informasi tentang kemampuan server untuk menginformasikan klien. Tangkapan layar berikut menunjukkan semua bidang penting dari bingkai SYN+ACK:

Frame ini juga mengakui frame SYN yang dikirim oleh klien.

Berikut adalah field penting untuk frame SYN+ACK:

Pelabuhan Sumber: 80
Pelabuhan Tujuan: 50602
Nomor urut: 0
Nomor Pengakuan: 1

Panjang Tajuk: 32 byte (8)
Bendera: 0x012 (SYN, ACK)
Pengakuan: Tetapkan
Dorong: Tidak disetel
Setel ulang: Tidak disetel
Nya: Set
Sirip: Tidak diatur

Jendela: 29200
Pointer Mendesak: 0
Opsi TCP - Ukuran segmen maksimum: 1412 byte
Opsi TCP - SACK diizinkan
Opsi TCP - Skala jendela: 7 (kalikan dengan 128)

Kita dapat melihat bahwa bit “Acknowledge” dan “SYN” diatur dalam bingkai ini. Ini karena frame ini adalah SYN+ACK.

ACK

Frame ini adalah frame terakhir dari 3-way handshake dan juga pengakuan SYN+ACK oleh klien. Tangkapan layar berikut menunjukkan semua bidang penting dari bingkai ACK:

Berikut adalah bidang penting untuk bingkai ACK:

Port Sumber: 50602
Pelabuhan Tujuan: 80
Nomor Urut: 1
Nomor Pengakuan: 1
Panjang Tajuk: 20 byte (5)
Bendera: 0x010 (ACK)
Mendesak: Tidak diatur
Pengakuan: Tetapkan
Dorong: Tidak disetel
Setel ulang: Tidak disetel
Syn: Tidak diatur
Sirip: Tidak disetel

Jendela: 32768

Di sini, hanya bit “Acknowledge” yang diset karena ini adalah frame ACK.

Penjelasan untuk Beberapa Bidang Umum Penting

Pelabuhan 80 : Kami mengamati satu port tetap 80 dalam tutorial ini. Itu karena ini adalah tangkapan HTTP dan port 80 diperbaiki (sisi server) untuk komunikasi HTTP.

Nomor urut : Nomor urut dari frame tersebut. Sinkronisasi adalah bingkai pertama sehingga kami memiliki 0 sebagai nomor urut.

Bendera TCP:

Pengakuan – Bit ini diset jika frame adalah ACK. Contoh: SYN+ACK, bingkai ACK.

SIN – Bit ini diset jika frame adalah SYN. Contoh: SIN.

Jendela : Kolom ini berbagi ukuran jendela maksimum pengirim dalam mode terima. Contoh: Kami memiliki ukuran jendela 65535 byte di frame SYN. Ini berarti penerima dapat menerima data TCP maksimum 65535 byte kapan saja.

Karung Diizinkan : Bit ini diset jika kirim mendukung SACK [pengakuan selektif].

Ukuran Segmen Maksimum : Kita juga bisa menyebutnya MSS. Ini menentukan bingkai data maksimum yang dapat diterima pengirim. Contoh: Kami mendapatkan MSS sebagai 1460 byte dalam bingkai SYN.

Kesimpulan

Kita belajar tentang jabat tangan 3 arah TCP dan semua bidang yang berguna untuk frame SYN, SYN+ACK, dan ACK. Jika Anda ingin mempelajari lebih lanjut tentang TCP, Anda dapat mengikuti tautan RFC ini https://tools.ietf.org/html/rfc793 .