Yerel Ağda ARP (Address Resolution Protocol) ile İletişim

1
4270
views
Yerel ağda iletişimi gerçekleştirmek için IP adresleri yerine düğümlerin fiziksel adresleri kullanılır. Yerel ağdaki düğümlerin birbirini tanımaları ve iletişimi ARP üzerinden gerçekleşir. Bu yazıda yerel ağlarda ARP (Address Resolution Protocol) ile iletişim incelenecektir.

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

 

Not – 1: ARP protokolü, TCP/IP modeli için tasarlanmış olup bağlantı katmanında (en alt seviye) yer alır. OSI modeline göre ise IP katmanında (3. katman) çalıştığı söylense de veri bağlantısı katmanı (2. katmanında) ile IP katmanı (3. katman) arasında dönüşüm işlemi gerçekleştirmek amacı ile kullanılır.

Not – 2: ARP ile düğümün fiziksel adres öğrenilir. Ethernet kullanıldığında bu fizinsel adres MAC bilgisi döner. Bu yazı Ethernet kullanıldığı varsayılarak hazırlanmıştır.

Yerel ağda bilgisayarlar haberleşmek için IP adresi yerine 48 bitlik gerçek fiziksel adreslerini (MAC adresi gibi) kullanırlar. IP adresinden MAC adresini öğrenmek için de ARP (Address Resolution Protocol) kullanılır. Bu protokol ile aynı alt ağdaki IP adreslerinde bulunun MAC adresleri öğrenilir ve iletişim bu MAC adresi üzerinden sağlanır.

MAC adresinin ilk yarısı ağ kartının üreticisini, ikinci yarısı ile o ürünün ID bilgisini verir. Örneğin “00:0c:29:cf:90:b7” MAC adresine sahip bir ağ kartının üreticisinin “VMware, Inc.” olduğu bilinebilir.

ifconfig eth0
macchanger -l | grep “00:0c:29”

address-resolution-protocol-arp-on-computer-networks-01

 

ARP protokolü için bilgisayarlar ARP tablosunu kullanırlar. Bu tabloda IP-MAC eşleşmesi tutulur. Arp tablosunun içeriği aşağıdaki gibi olabilir.

arp -a

address-resolution-protocol-arp-on-computer-networks-02

 

Bilgisayar yerel ağdaki bir IP adresine erişmek istediğinde önce bu tabloyu kontrol eder ve erişmek istediği IP adresine ait kayıt mevcut ise, kayıttaki MAC adresi üzerinden haberleşme başlar. Şayet ilgili kayıt mevcut değil ise, aynı ağdaki her IP adresine (broadcast) bir ARP isteği (ARP Request) gönderir ve gelen cevaba (ARP Reply) göre IP adresinin bulunduğu MAC adresini öğrenir ve ARP tablosuna ekler. Bundan sonraki iletişimlerde ARP isteği göndermez, bu tablodaki kayıda göre haberleşme başlar.

 

ARP Çeşitleri

Temel olarak 2 tip ARP mesajı vardır:

  • ARP Request
  • ARP Reply

Bunun yanında bir sistem kendi IP adresi için de ARP mesajları yayınlayabilir.

  • Gratuitous ARP Request
  • Gratuitous ARP Reply

Ayrıca teyid için ve belirli MAC adresleri için yapolan ARP mesajları da bulunmaktadır.

  • Directed ARP
  • Reverse ARP Request
  • Reverse ARP Reply

 

1) ARP Request

ARP Request paketi ile yapılan işlem şu şekildedir:

Benim ile aynı ağda olan “x.x.x.x” IP adresine sahip olan sistem ile konuşmak istiyorum. Bu sistem kim ise bana MAC adresini söylesin. O sistemin MAC adresini ARP tablona ekleyeceğim ve bu kayıt silinene (veya değiştirilene) kadar o sistem ile MAC üzerinden iletişim kuracağım.

Aynı ağdaki tüm IP adresine yapılan (Broadcast / Multicast) ARP Request örneği aşağıdaki gibidir.

address-resolution-protocol-arp-on-computer-networks-03

 

Yukarıdaki ekran görüntüsünde aynı ağdaki tüm IP adreslerinin (192.168.2.0, 192.168.2.1, 192.168.2.2, 192.168.2.3,…, 192.168.2.255) MAC adresleri, Broadcast olarak tek tek sorulmaktadır. Örneğin; 192.168.2.71 bilgisayarı, 192.168.2.2 IP adresinin MAC adresinin ne olduğu sorgusunu 00:00:00:00:00:00 (veya FF:FF:FF:FF:FF:FF) hedefine yayın olarak(broadcast) sormuştur.

Gönderilen paketteki Opcode değerinin 1 olması, bu talebin ARP Request olduğunu ifade eder.

Not: Wireshark paketinde de görüldüğü gibi, trafiğin Ethernet tipinin (EtherType) 0x0806 olması ARP paketi olduğunu gösterir.

 

2) ARP Reply

ARP Reply paketi ile yapılan işlem şu şekildedir:

Aynı ağda olduğumuz herkese benim MAC adresimi sormuşsun. Benim MAC adresimi “XX:XX:XX:XX:XX:XX” olarak kaydedebilirsin. Artık benimle konuşmak istiyosan bu MAC adresi üzerinden iletişime geçebilirsin.

Varsayılan durumda yayın (broadcast) olarak gelen ARP Request paketine, sadece ilgili IP adresi (Unicast) ARP Reply ile cevap verir. ARP Reply örneği aşağıdaki gibidir.

address-resolution-protocol-arp-on-computer-networks-04

 

Yukarıdaki ekran görüntüsünde kendisine sorulan MAC sorgusuna cevep verilmektedir. Örneğin; 192.168.2.59 bilgisayarı, 192.168.2.71 IP adresine MAC adresinin “DC:71:44:7A:4B.87” olduğunu söylemektedir.

Gönderilen paketteki Opcode değerinin 2 olması, bu talebin ARP Reply olduğunu ifade eder.

 

3-4) Gratuitous ARP Request & Reply

Bir IP adresi kendi IP adresini yayın yapma ihtiyacı duyabilir. Örneğin; aynı IP adresini kullanan bir ağ kartı işlevsiz kaldığında (down olduğunda) diğer ağ kartı trafiği kendi üzerine alması gerekecektir. Bu gibi bir durumda yerel ağdaki diğer cihazların eski ağ kartı ile değil, kendisi ile iletişim kurması gerektiğini söylemesi ve trafiği üzerine alması gerekir. Bu sebeple yeni ağ kartı kendi IP adresini ve MAC’ini yayın yapar.

Gratuitous ARP Request örneği aşağıdaki gibidir.

address-resolution-protocol-arp-on-computer-networks-05

 

5) Directed ARP

Bir sistem üzerindeki ARP kayıtlarının geçerliliğinin kontrolü için; ARP sorgusunu yayın olarak değil, tüm ağı meşgul etmeden hedefli bir şekilde doğrudan ilgili IP adresine de sorulabilir.

 

6) Reverse ARP (RARP) Request

Bilinen bir MAC adresinin IP adresini sorgulamak için kullanılır.

 

7) Reverse ARP (RARP) Request

Gelen RARP sorgusuna cevap vermek için kullanılır.

 

Özet

ARP ile iletişimi özetlemek için aşağıdaki tablo örnek olarak kullanılabilir.

address-resolution-protocol-arp-on-computer-networks-06

 

Ayrıca aşağıdaki şema da örnek olarak kullanılabilir.

address-resolution-protocol-arp-on-computer-networks-07

 

 

Kaynak:

https://yazilimcorbasi.blogspot.com.tr/2014/07/address-resolution-protocol.html
http://www.yazilimdilleri.net/YazilimMakale-2134-ARP-Protokolu-ve-Detaylari.aspx
http://omeriyioz.blogspot.com.tr/2014/05/arp-address-resolution-protocol.html
http://ekaragol.blogspot.com.tr/2015/02/arp-zehirlemesi-ile-bilgi-edinme.html

 

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

1 YORUM

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.