ARP/RARP

Ethernet kartı bulunan haberleşmeler ARP/RARP üzerinden gelişir. ARP (Adres Çözümleme Protokolü). Sınıfta tanımadığı birisi ile haberleşmek istenildiğinde o kişinin ya adının ya da konumunun bilinmesi gerekir. Genel anlamda konumu biliniyorsa yerini tespit edebilmek için ismi ile seslenilir. ARP de bu şekilde çalışır. Birbirleri ile aynı ağda bağlı olan bilgisayarlar arasındaki iletişim de MAC ve IP adresleri ile sağlanır. IP adresi kişinin konumunu, MAC adresi ise adını temsil eder. Her ethernet kartının bir MAC adresi mevcuttur. IP1’in, “bu IP2’ye sahip olan bilgisayarın MAC adresi nedir?” sorusunu ağdaki tüm bilgisayarlara sorması işlemin broadcast denir. O MAC adresine sahip bilgisayar unicast olarak cevap döner.

3 tip haberleşme vardır: broadcast, yayın yapma şeklinde yapılan, unicast, birebir şekilde yapılan, multicast, birden fazla tarafla yapılan iletişimdir.

ARP protokolü tamamen yukarıda anlatılan işlemi yapar. RARP ise bu işlemin tam tersidir. MAC adresini sorarak IP adresini öğrenir.

Aynı adaptöre (vmnet8 adaptörüne) bağlı iki makine düşünelim:

Makinelerin MAC ve IP adresleri aşağıda gösterildiği gibidir:

Metasploitable Makinesi (VM1)
Parrot Makinesi (VM2)

VM1 ve VM2 makineleri daha önceden birbirleri ile haberleşirlerse yapılan işlemler ARP tablolarında tutulur. ARP tablolarında tutulan MAC ve IP adresleri kalıcı olarak kaydedilmez. Anlık olarak iletişim sağlanır ve sonra silinir. arp -an komutu ile tabloların içerikleri görüntülenir. Resimde görüldüğü gibi VM2 makinesinin IP ve MAC adresi VM1 makinesinin ARP tablosunda, VM1 makinesinin IP ve MAC adresi VM2 makinesinin ARP tablosunda tutulmaktadır:

sudo arp -d IP_adresi komutu ile tablodan silinmek istenen IP adresine ait kayıt silinir. Her iki makinede de birbirlerine ait kayıtları sildik.

İki makinenin haberleşmesi işlemine geçmeden önce ağ trafiğini izleyen iki araçtan bahsedelim. İlki Wireshark. Wireshark, çeşitli ağ aygıtlarındaki haberleşmeleri yakalayabilme ve inceleme imkanı sağlar. Artısı çok fazla protokol desteği bulundurması ve grafik arayüzüne sahip olmasıdır. Diğer araç ise Tcpdump. Tcpdump da aynı işi yapar. Artısı çok hızlı paket yakalama özelliği vardır. Çok yoğun trafiklerde grafik arayüzü olmadığı için Wireshark’a göre daha hızlı çalışır, daha az paket kaybeder. (İkisi birlikte de kullanılabilir: Tcpdump’tan paketler yakalanır ve bu paketler Wireshark’ta incelenir.) NetCad, Telnet gibi düz metin iletişimlerin yapılmasını sağlayan bir araçtır. Mesaj gönderimi için bu aracı kullanacağız.

VM2’de Wireshark çalışırken, VM1’den VM2’ye bir “merhaba” mesajı gönderelim:

  1. VM2 (Parrot) makinesinde Wireshark açılır ve eth0 bağdaştırıcısını dinlemeye başlatılır.
  2. VM2 makinesinde nc -l -p 4444 -v komutu ile netcad aracı ile 4444 portu mesajı almaya hazır hale getirilir.
  3. VM1 (Metasploitable) makinesinde echo “merhaba” | nc 192.168.114.7 4444 komutu yazılarak 4444 portu üzerinden mesaj iletilir. (CTRL+C ile işlem durdurulur).
  4. VM2 makinesinde terminalde ileti görünecektir. Wireshark çıktısı incelenir.

Ağ trafiğindeki paketlerden de görüldüğü üzere önce ARP çözümlemesi yapılmış, sonra tabloya ARP kaydı eklenmiş, daha sonra da mesaj iletilmiştir.

Yorum bırakın