Laptop ekranınız titriyor — durun, WiFi bitmedi; ARP zehirleyicisi ağ kurallarını burnunuzun dibinde baştan yazıyor.
İşte heyecan: Prayush Biswas’ın yeni Hashnode incelemesi bu görünmezliği tersine çeviriyor. Bayt düzeyinde ARP diyoruz — Address Resolution Protocol’ün her nibblesını parçalayıp C’de saldırı kodluyor, yakalıyor ve ezer geçiyoruz. Pofuduk tutorial değil. Gerçek kod. Gerçek güç.
ARP Ethernet’in 80’lerden beri sessiz kahramanı; IP’leri MAC’lere çeviren çılgın bir telefon defteri memuru gibi. Ama baytlarını görmezden gelin mi? Ağın karanlık yüzü gözünüzden kaçar.
2024’te Neden ARP’nin İçine Girelim?
Çünkü ağlar kibar kalmıyor. IoT sürüleri, kenar AI kümeleri — hepsi Ethernet raylarında, ARP hâlâ zayıf halka. Tek sahte yanıt, pat: AI eğitim verileriniz hacker çukuruna.
Bu araç seti teori değil. Elle tutulur: gönderici, alıcı, tarayıcı, zehirleyici, algılayıcı. Hepsi 28 bayt sihirden (donanım tipi, protokol tipi, uzunluklar, işlem kodu — çek hesap son tabii).
“ARP paketi yapısı aldatıcı basit: 14 bayt Ethernet başlığı, üstüne 28 bayt ARP yükü — donanım tipi (Ethernet için 0x0001), protokol tipi (IPv4 için 0x0800) ve devamı, kritik opcode ile biter: istek için 1, yanıt için 2.”
Biswas’ın açıklamasından birebir. Net. El sallama yok.
Kısa ve öz: Kendiniz kodlayın.
Şimdi saldırıyı açalım. ARP’siz — cihazlar yanıtlara körü körüne güven. Gönderen A, B’ye ping atacak? ‘B’nin MAC’i kimde?’ diye yayınlar. B yanıtlar. Ama Kötü Eve? Önce hızlı davranıp kendi MAC’ini B’nin IP’sine yapıştırarak yanıt verir. A artık Eve’ye yollar. Ortadaki adam tamam. Gereksiz ARP’ler (istenmeyen yanıtlar) yalanı sürdürür.
Kod? Zarif C soketleri. Paket sahteciliği için ham soketler — struct arphdr, sendto(), tek’inin tamamlayıcısıyla çek hesap. Algılama? Tekrarları dinle, anormallikleri günlüğe. Firewall’unuza röntgen gözü takmak gibi.
Ama durun — benim ek: Bu sadece eski usul hack değil. AI’nin yönettiği fabrikaları düşünün, robotlar ARP çözümlü linklerle senkron. Zehirlenmiş tablo? Üretim durur. Otonom ağlara uçuyoruz, düşük seviyeli protokol hakimiyeti zorunlu; gölge sömürülerine karşı hendek. Biswas’ın seti? Geleceğe sigorta.
Evde ARP Saldırısı Gerçekten Yapılır mı?
Kesinlikle — ama uyarılarla. Wireshark’ı ateşleyin, LAN’ınızı koklayın. 0x0806 Ethertype’ları? ARP trafiği.
Adım bir: zehirleyiciyi derleyin. gcc arp_poison.c -o poison. Hedef router IP’sini gateway olarak sahteleyin. Gereksiz yanıtları salla. Kurbanlarda arp -a izleyin — MAC’ler değişir.
Test VLAN’ımda dakikalar sürdü. Trafik yönlendi. HTTPS? sslstrip zinciriyle düz metin kokla (etik olsun tabii). Ama ev router’ları ham soketleri kilitle — Linux CAP_NET_RAW, sudo şart. Windows? Npcap baş ağrısı.
Algılama parlıyor. Tarayıcı ağı pingler, tablolar kurar, uyumsuzlukları işaretler. Daemon gibi çalıştırın — tekrarlarda uyarı. arptables ile blokla eşleştirin. Aniden ağ nöbetçisi sizsiniz.
Harika kısım? C’nin buradaki hassasiyeti ilkel hissettiriyor, 3D baskı dünyasında kılıç dövmek gibi. Framework yok. Sadece struct sockaddr_ll, ioctl(SIOCGIFINDEX), bayt dizileri dans ediyor.
ARP’nin Bayt Şeması: Parça Parça
Donanım tipi: 2 bayt, 0x0001. Protokol: 0x0800. HW uzunluk: 6 (MAC). Proto uzunluk: 4 (IP). Opcode: 1/2.
Gönderen/yanıt MAC: 6 bayt. Gönderen IP: 4. Hedef MAC: 6. Hedef IP: 4. Ethernet minimum 60 bayta doldur.
Çek hesap? IP usulü: 16-bit kelimeleri topla, katla, tek’in tamamlayıcısı. Kaçır, paketler sessiz düşer.
Biswas build_arp_packet() fonksiyonunu gezdirelim — MAC’ler için memcpy, short’lar için htons, özel ip_checksum(). Kusursuz.
Vahşi hayatta bir hata: Bazı kodlar son dolguyu unutur. Eski switch’ler çöker. Burada düzeltilmiş.
Coşku kabarıyor — bu protokol şiiri. ARP’nin sadeliği kusurlarını doğurdu, TCP evrimini yansıtıyor. Gelecek? IPv6 için ND, ama Ethernet ARP’ye yapışmış. AI ağları bu araçları ölçekli ister — C koklayıcı üstüne ML anomali avcıları.
Kurumsal laf ebeliği? Yok, bu bağımsız geliştirici altını. VC şişi