Wireshark'ta TCP 3-Yollu Anlaşma Analizi

Wireshark Ta Tcp 3 Yollu Anlasma Analizi



İletim Kontrol Protokolü, OSI veya TCP/IP modeli için taşıma katmanında çok önemli bir protokoldür. TCP'de aşağıdakiler gibi birçok avantaj vardır:

  • Gönderilen herhangi bir veri alıcı tarafından bir süre içinde onaylanmazsa, TCP yeniden iletim yapar.
  • TCP, verileri göndermeden önce bir miktar bağlantı kurar. Biz bu bağlantıya 3'lü el sıkışma diyoruz.
  • TCP, tıkanıklık kontrol mekanizmasına sahiptir.
  • TCP, bazı yöntemleri kullanarak hatayı algılayabilir.

Esas olarak TCP 3 yollu el sıkışmayı öğrenelim. Wireshark'ta 3'lü el sıkışma için önemli alanları da öğrenelim.







3'lü El Sıkışma

3 yönlü bir el sıkışmada gerçekleşen üç çerçeve alışverişi vardır:



  1. SYN
  2. GÖRÜNTÜLE+ONAYLA
  3. ACK

İlk çerçeve her zaman istemci tarafından sunucuya gönderilir. Bunu basit bir diyagramdan anlayalım:



'MÜŞTERİ SUNUCUSU'

Çerçeve1: İstemci, sunucuya SYN çerçevesi gönderir------------------------------------------------->

<----------------------------------Sunucu SYN+ACK çerçevesini gönderir müşteriye: Frame2

Çerçeve3: İstemci, ACK çerçevesini sunucuya gönderir-------------------------------------------------->

Wireshark'ta bu üç kareyi görebiliriz. Wireshark'ta tüm TCP çerçevelerini görmek için “tcp” filtresi kullanılabilir. İşte üç kare için ekran görüntüsü:





Şimdi üç çerçeveyi de ayrıntılı olarak anlayalım:



SYN

Bu çerçeve, istemcinin sunucuyu bilgilendirme yetenekleri hakkında birçok bilgi içerir. Aşağıdaki ekran görüntüsü, SYN çerçevesinin tüm önemli alanlarını göstermektedir:

SYN çerçevesi için önemli alanlar şunlardır:

Kaynak Bağlantı Noktası: 50602
Hedef Port: 80
Sıra Numarası: 0
Teşekkür Numarası: 0
Başlık Uzunluğu: 32 bayt
Bayraklar: 0x002 (SYN):
Onay: Belirtilmemiş
İtme: Ayarlanmadı
Sıfırla: Ayarlanmadı
Syn: Set  -----> Bu bit, çünkü bu bir SYN çerçevesidir.
Fin: Ayarlanmadı

Pencere: 65535
Acil İşaretçi: 0
TCP Seçeneği - Maksimum segment boyutu: 1460 bayt
TCP Seçeneği - Pencere ölçeği: 3 (8 ile çarpın)
TCP Seçeneği - SACK'e izin verilir

GÖRÜNTÜLE+ONAYLA

Bu çerçeve, sunucunun istemciyi bilgilendirme yetenekleri hakkında birçok bilgi içerir. Aşağıdaki ekran görüntüsü, SYN+ACK çerçevesinin tüm önemli alanlarını gösterir:

Bu çerçeve aynı zamanda istemci tarafından gönderilen SYN çerçevesini de onaylar.

SYN+ACK çerçevesi için önemli alanlar şunlardır:

Kaynak Bağlantı Noktası: 80
Hedef Bağlantı Noktası: 50602
Sıra Numarası: 0
Teşekkür Numarası: 1

Başlık Uzunluğu: 32 bayt (8)
Bayraklar: 0x012 (SYN, ACK)
Onay: Belirlendi
İtme: Ayarlanmadı
Sıfırla: Ayarlanmadı
Onun: Set
Fin: Ayarlanmadı

Pencere: 29200
Acil İşaretçi: 0
TCP Seçeneği - Maksimum segment boyutu: 1412 bayt
TCP Seçeneği - SACK'e izin verilir
TCP Seçeneği - Pencere ölçeği: 7 (128 ile çarpın)

Bu çerçevede “Acknowledge” ve “SYN” bitlerinin set edildiğini görebiliriz. Bunun nedeni, bu çerçevenin SYN+ACK olmasıdır.

ACK

Bu çerçeve, 3'lü el sıkışmanın son çerçevesi ve ayrıca SYN+ACK'nin müşteri tarafından onaylanmasıdır. Aşağıdaki ekran görüntüsü, ACK çerçevesinin tüm önemli alanlarını gösterir:

ACK çerçevesi için önemli alanlar şunlardır:

Kaynak Bağlantı Noktası: 50602
Hedef Port: 80
Sıra Numarası: 1
Teşekkür Numarası: 1
Başlık Uzunluğu: 20 bayt (5)
Bayraklar: 0x010 (ACK)
Acil: Ayarlanmadı
Onay: Belirlendi
İtme: Ayarlanmadı
Sıfırla: Ayarlanmadı
Syn: Ayarlanmadı
Fin: Ayarlanmadı

Pencere: 32768

Burada sadece “Onay” biti ayarlanır çünkü bu bir ACK çerçevesidir.

Bazı Önemli Ortak Alanların Açıklaması

Bağlantı noktası 80 : Bu eğitimde bir sabit bağlantı noktası 80 gözlemledik. Bunun nedeni, bunun bir HTTP yakalaması olması ve HTTP iletişimi için 80 numaralı bağlantı noktasının sabitlenmesidir (sunucu tarafı).

Sıra numarası : O çerçevenin sıra numarası. Eşitleme ilk çerçevedir, bu nedenle sıra numarası olarak 0'a sahibiz.

TCP İşaretleri:

Teşekkür – Çerçeve bir ACK ise bu bit ayarlanır. Örnek: SYN+ACK, ACK çerçevesi.

SYN – Çerçeve bir SYN ise bu bit ayarlanır. Örnek: SYN.

pencere : Bu alan, göndericinin alma modundaki maksimum pencere boyutunu paylaşır. Örnek: SYN çerçevesinde 65535 bayt pencere boyutuna sahibiz. Bu, alıcının herhangi bir zamanda maksimum 65535 bayt TCP verisi alabileceği anlamına gelir.

Çuval İzin : Gönderim SACK'i [seçici onay] destekliyorsa bu bit ayarlanır.

Maksimum Segment Boyutu : MSS de diyebiliriz. Bu, göndericinin alabileceği maksimum veri çerçevesini tanımlar. Örnek: MSS'yi SYN çerçevesinde 1460 byte olarak alıyoruz.

Çözüm

TCP 3 yollu el sıkışma ve SYN, SYN+ACK ve ACK çerçeveleri için tüm yararlı alanları öğrendik. TCP hakkında daha fazla bilgi edinmek istiyorsanız, bu RFC bağlantısını takip edebilirsiniz. https://tools.ietf.org/html/rfc793 .