Ağ Güvenliğinde Gözcünüz: Arpwatch ile Yerel Ağ İzleme ve Analizi

ArpWatch, yerel ağ (LAN) üzerindeki IP adresi ↔ MAC adresi eşleşmelerini izleyen bir ağ güvenliği ve izleme aracıdır. Ağdaki cihazların ARP (Address Resolution Protocol) trafiğini takip ederek yeni cihazları, MAC değişikliklerini ve şüpheli hareketleri tespit etmeye yardımcı olur. Özellikle ARP Spoofing / ARP Poisoning, yetkisiz cihaz bağlantıları ve IP-MAC tutarsızlıklarını fark etmek için kullanılır. (Linux Wiki)


1. ARP Nedir?

ArpWatch’i anlamadan önce ARP’yi bilmek gerekir.

ARP (Address Resolution Protocol), bir IP adresinin hangi MAC adresine ait olduğunu öğrenmek için kullanılan protokoldür.

Örnek:

IPMAC
192.168.1.10            00:11:22:33:44:55

Bir cihaz ağdaki başka bir cihaza ulaşmak istediğinde:

  1. IP adresini bilir

  2. MAC adresini öğrenmek için ARP isteği gönderir

  3. Hedef cihaz MAC adresiyle cevap verir

  4. İletişim başlar

Bu işlem ARP tablosunda tutulur.


2. ArpWatch Nedir?

ArpWatch, ağdaki bu IP-MAC eşleşmelerini **sürekli gözlemleyen bir daemon (arka plan servisi)**dir.

Temel görevleri:

  • Yeni cihazları tespit etmek

  • MAC adres değişikliklerini izlemek

  • Aynı IP’nin farklı MAC ile kullanılmasını fark etmek

  • Ağ envanteri oluşturmak

  • Güvenlik uyarıları göndermek

  • ARP Spoofing belirtilerini raporlamak

ArpWatch ilk olarak 1990’larda geliştirilmiş açık kaynaklı bir güvenlik aracıdır. (Vikipedi)


3. ArpWatch Nasıl Çalışır?

Çalışma mantığı oldukça basittir:

Adım 1 – ARP Trafiğini Dinleme

ArpWatch ağ kartını dinler.

Örnek:

192.168.1.1 -> aa:bb:cc:11:22:33

Adım 2 – Veritabanına Kaydetme

Bilgiler genellikle:

/var/lib/arpwatch/arp.dat

dosyasında tutulur.


Adım 3 – Değişiklik Tespiti

Eğer:

192.168.1.1

önceden:

aa:bb:cc:11:22:33

iken daha sonra:

de:ad:be:ef:55:66

olursa ArpWatch bunu olağan dışı kabul eder.


Adım 4 – Alarm / Log

Olay:

  • syslog

  • e-posta

  • terminal çıktısı

olarak raporlanabilir. (Linux Wiki)


4. ArpWatch Kurulumu

Linux sistemlerde yaygın olarak kullanılır.

Ubuntu / Debian

sudo apt update
sudo apt install arpwatch

CentOS / RHEL

sudo yum install arpwatch

veya:

sudo dnf install arpwatch

Kurulum sonrası servis kontrolü:

systemctl status arpwatch

Başlatma

sudo systemctl start arpwatch

Kalıcı başlatma:

sudo systemctl enable arpwatch

5. Temel Kullanım

Belirli Interface İzleme

Ethernet kartı:

sudo arpwatch -i eth0

Kablosuz:

sudo arpwatch -i wlan0

(Linux Wiki)


Arka Planda Çalıştırma

sudo arpwatch

Daemon olarak çalışır.


Ön Planda (Debug)

Eğitim ve test için:

sudo arpwatch -D

Bu mod:

  • anlık çıktı

  • hata ayıklama

  • test

için faydalıdır. (Linux Wiki)


6. ArpWatch Logları

Genellikle:

/var/log/syslog

veya:

journalctl

üzerinden izlenir.

Örnek:

journalctl -u arpwatch

Örnek log:

new station 192.168.1.20 44:55:66:77:88:99

Anlamı:

Yeni cihaz ağa bağlandı.


Bir diğer örnek:

changed ethernet address

Bu:

IP’nin MAC adresi değişti

anlamına gelir.

Çoğu zaman:

  • NIC değişimi

  • DHCP yenilemesi

  • sanal makine

  • veya şüpheli spoofing

nedeniyle görülür.


7. ArpWatch Uyarı Türleri

ArpWatch farklı olaylar üretir.

1. New Station

Yeni cihaz.

Örnek:

new station

2. Changed Ethernet Address

MAC değişimi.

Örnek:

changed ethernet address

3. Flip Flop

En dikkat çekici uyarılardan biridir.

Bir IP kısa sürede:

MAC-A → MAC-B → MAC-A

şeklinde değişirse:

flip flop

uyarısı oluşur.

Bu durum bazen:

  • ARP Spoofing

  • MITM girişimi

  • yanlış ağ yapılandırması

ile ilişkili olabilir. (Linux Wiki)


8. E-posta Bildirimi

ArpWatch yöneticilere e-posta gönderebilir.

Örnek:

sudo arpwatch -m admin@mail.com

Gönderen:

sudo arpwatch -m admin@mail.com -e monitor@mail.com

Bu özellik özellikle:

  • okul ağı

  • kurum ağı

  • veri merkezi

ortamlarında faydalıdır. (Linux Wiki)


9. ARP Spoofing ile İlişkisi

ArpWatch doğrudan saldırıyı engellemez.

Fakat belirtileri tespit eder.

ARP Spoofing’de saldırgan:

Gateway benim MAC adresimdir

şeklinde sahte ARP cevapları yollar.

Sonuç:

  • trafik yönlendirme

  • MITM

  • oturum çalma

  • veri dinleme

olabilir.

ArpWatch burada:

"Gateway MAC adresi değişti"

uyarısı verebilir.

Bu nedenle güvenlik izleme zincirinde önemli bir araçtır. (TechTarget)


10. Eğitim Amaçlı Güvenli Laboratuvar Testi

⚠️ Sadece size ait veya izinli laboratuvar ortamında uygulanmalıdır.

ArpWatch’in çalışmasını görmek için:

Önce izleme başlatılır:

sudo arpwatch -i eth0 -D

Başka bir cihaz ağa bağlandığında:

new station

çıktısı görülür.

MAC değişimi veya sanal cihaz eklenmesi gibi kontrollü ağ değişiklikleri loglarda izlenebilir.

Bu yöntem:

  • güvenlik laboratuvarı

  • ağ eğitimi

  • SOC eğitimi

için uygundur.


11. Avantajları

Hafif

Düşük RAM ve CPU kullanır.

Kurulumu kolay

Dakikalar içinde devreye alınabilir.

Pasif izleme

Ağ trafiğini bozmaz.

Güvenlik görünürlüğü

Yeni cihaz ve değişimleri gösterir.

Envanter oluşturma

Ağdaki cihazları kaydeder.


12. Sınırlamaları

ArpWatch her şeyi çözmez.

Bazı sınırlamalar:

IPv4 ağırlıklı

ARP yalnızca IPv4 içindir.

IPv6 için:

  • NDP

  • addrwatch

  • andwatch

gibi araçlar tercih edilebilir. (Reddit)


Gürültülü ağlar

Modern ağlarda:

  • random MAC

  • telefonlar

  • misafir cihazlar

  • VM’ler

çok uyarı üretebilir.

Bu nedenle:

  • DHCP logları

  • switch MAC tabloları

  • NAC / 802.1X

ile birlikte kullanılması tavsiye edilir. (Reddit)


13. ArpWatch ile Kullanılabilecek Araçlar

Birlikte kullanılabilir:

AraçAmaç
tcpdump        Paket yakalama
Wireshark        Görsel analiz
arping        ARP testleri
Nmap        Ağ keşfi
SIEM        Merkezi log analizi

Sonuç

ArpWatch, küçük ve orta ölçekli ağlarda IP-MAC değişimlerini takip ederek güvenlik görünürlüğü sağlayan hafif ama etkili bir izleme aracıdır.

Özellikle:

  • yeni cihaz tespiti

  • ağ envanteri

  • ARP anomalileri

  • olası spoofing belirtileri

için değerli bir yardımcıdır.

Tam bir güvenlik çözümü değildir; ancak ağ savunmasında erken uyarı sistemi görevi görebilir. (Linux Wiki)


Yerel ağlarda cihazların birbiriyle iletişim kurabilmesi için IP adreslerinin fiziksel MAC adresleriyle eşleştirilmesi gerekir. Bu görevi üstlenen Address Resolution Protocol (ARP), doğası gereği güvenliğe odaklanarak tasarlanmamıştır. Bu zafiyet, özellikle siber güvenlik laboratuvarlarında ve gerçek dünya senaryolarında sıkça karşılaşılan ARP Zehirlenmesi (ARP Spoofing) gibi Ortadaki Adam (MitM) saldırılarına kapı aralar.

Ağ altyapısını korumak ve savunma mekanizmalarını (Blue Team) güçlendirmek için ağdaki ARP hareketlerini sürekli izlemek kritik bir adımdır. İşte bu noktada Arpwatch devreye girer.

Arpwatch Nedir?

Arpwatch, yerel bir ağdaki Ethernet (MAC) ve IP adresi eşleşmelerini sürekli olarak izleyen, kaydeden ve bu eşleşmelerde anormal bir değişiklik olduğunda sistem yöneticisine uyarı (log veya e-posta) gönderen açık kaynaklı bir ağ güvenlik aracıdır.

Özellikle laboratuvar ortamlarında veya kurumsal ağlarda şu amaçlarla kullanılır:

  • Ağa yeni bağlanan cihazları anında tespit etmek,

  • Bir IP adresinin MAC adresinin aniden değişmesini (olası bir ARP Spoofing saldırısı) yakalamak,

  • Ağdaki cihazların IP-MAC envanterini (veri tabanını) çıkarmak.

Arpwatch Nasıl Çalışır?

Arpwatch, arka planda bir servis (daemon) olarak çalışır ve ağ arayüzüne (örneğin eth0 veya ens33) gelen ARP paketlerini pasif olarak dinler (sniffing). Elde ettiği IP-MAC eşleşmelerini varsayılan olarak /var/lib/arpwatch/arp.dat adlı düz metin tabanlı bir veri tabanı dosyasına kaydeder.

Eğer ağda mevcut bir IP adresi, veri tabanındaki MAC adresinden farklı bir yeni MAC adresiyle ARP yayını yaparsa, Arpwatch bunu bir güvenlik ihlali olarak değerlendirir ve anında log üretir.

Pardus ve Debian Tabanlı Sistemlerde Arpwatch Kurulumu

Arpwatch; Pardus, Debian veya Ubuntu gibi dağıtımların resmi depolarında yer alır. Terminal üzerinden hızlıca kurulabilir:

Bash
sudo apt-get update
sudo apt-get install arpwatch

Kurulum tamamlandıktan sonra servisin durumunu kontrol etmek ve başlatmak için:

Bash
# Servisi başlatmak için
sudo systemctl start arpwatch

# Sistem açılışında otomatik başlaması için
sudo systemctl enable arpwatch

# Servisin güncel durumunu kontrol etmek için
sudo systemctl status arpwatch

Yapılandırma ve Parametreler (arpwatch.conf)

Arpwatch'ın nasıl davranacağını, hangi ağ arayüzünü dinleyeceğini ve uyarıları nereye göndereceğini /etc/arpwatch.conf dosyası üzerinden ayarlayabilirsiniz.

Dosyayı düzenlemek için:

Bash
sudo nano /etc/arpwatch.conf

Örnek bir yapılandırma satırı:

Plaintext
eth0 -a -n 192.168.1.0/24 -m guvenlik@alanadi.com

Sık Kullanılan Parametreler:

  • -i (Interface): Dinlenecek ağ arayüzünü belirtir (Örn: eth0).

  • -a: Yeni kayıtları mevcut veri tabanı dosyasının üzerine yazmak yerine sonuna ekler (append).

  • -n (Network): Dinlenecek yerel ağın bloğunu ve alt ağ maskesini belirtir (Örn: 192.168.1.0/24). Bu, yerel ağ dışındaki (bogon) IP'lerin raporlanmasını engeller.

  • -m (Mail): Olağandışı bir durum tespit edildiğinde uyarı e-postasının gönderileceği adresi belirtir.

  • -f (File): MAC/IP eşleşmelerinin tutulacağı veri tabanı dosyasının yolunu belirtir.

Not: E-posta uyarılarının çalışabilmesi için Proxmox üzerindeki sanal makinenizde veya fiziksel sunucunuzda Postfix ya da Sendmail gibi bir e-posta iletim aracısının (MTA) yapılandırılmış olması gerekir.

Günlüklerin (Logların) İncelenmesi ve Yorumlanması

Arpwatch uyarıları varsayılan olarak sistem günlüklerine yazılır. Tespit edilen olayları gerçek zamanlı incelemek için terminalde şu komutu kullanabilirsiniz:

Bash
sudo tail -f /var/log/syslog | grep arpwatch

Sık Karşılaşılan Log Mesajları ve Anlamları:

  1. new station (Yeni Cihaz): Ağa ilk defa bağlanan yeni bir MAC adresi tespit edildiğinde görülür.

    new station 192.168.1.50 00:1a:2b:3c:4d:5e

  2. changed ethernet address (Değişen MAC Adresi): Bir IP adresinin eşleştiği MAC adresi değiştiğinde görülür. Bu durum, bir DHCP yenilemesinden kaynaklanabileceği gibi, ağda aktif bir ARP Spoofing saldırısı olduğunun en net göstergesidir.

    changed ethernet address 192.168.1.1 00:11:22... -> 00:aa:bb...

  3. flip flop: İki farklı MAC adresinin aynı IP adresini çok kısa aralıklarla alması durumudur. Ağda bir IP çakışması olduğunu veya bir saldırganın ağ geçidini (gateway) taklit etmeye çalıştığını gösterir.

Siber Güvenlik Eğitim Senaryolarında (Blue Team) Kullanımı

Siber güvenlik müfredatlarında ve bitirme senaryolarında Arpwatch, savunma takımlarının (Blue Team) ağ anormalliklerini tespit etmesi için harika bir pratik aracıdır.

Öğrenciler laboratuvar ortamında bir simülasyon gerçekleştirdiğinde (örneğin kırmızı takım Kali Linux üzerinden ağı zehirlediğinde), mavi takımdaki öğrenciler Arpwatch loglarını izleyerek saldırıyı anında tespit edebilir ve Olay Müdahale (Incident Response) raporlarını doğrudan bu loglara dayandırarak hazırlayabilirler.

Arpwatch'ın oluşturduğu veri tabanı dosyasını manuel olarak incelemek için:

Bash:
cat /var/lib/arpwatch/arp.dat


Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Etap 23 Yazıcı Kurulumu