Yavuzlar
Ana sayfaTelegram
  • Yavuzlar
  • VulnLab
  • CodinLab
  • 📚EĞİTİM
    • PHP
      • XAMPP kurulumu
      • VS Code Kurulum
      • 1.0 PHP Nedir
      • 1.1 Dosya Oluşturma
      • 1.2 Syntax (Yazım Kuralları)
      • 1.3 PHP'de Echo ve Print
      • 1.4 PHP'deki yorumlar
      • 1.5 PHP Değişkenleri
      • 1.6 Operatörler (Operators)
      • 1.7 Veri Türünü Alma
      • 1.8 PHP'de String
      • 1.9 PHP'de Sabitler
      • 2.0 PHP'de If Else Elseif
      • 2.1 Switch Case
      • 2.2 PHP'de Döngüler
      • 2.3 PHP'de Diziler (Arrays)
      • 2.4 PHP'de Süper Global Değişkenleri
      • 2.5 PHP'de Cookie (Çerez) Ve Session (Oturum) Yöntemleri
      • 2.6 Form işlemleri
    • C++
      • 1.0 Temeller
        • 1.1 Dosya Oluşturma
        • 1.2 Syntax (Yazım Kuralları)
        • 1.3 Yorum Satırları
        • 1.4 C++ Değişkenleri
          • 1.4.1 Değişken Türleri
        • 1.5 Operatörler (Operators)
        • 1.6 Namespace
        • 1.7 Kullanıcı Girdisi (User Input)
        • 1.8 C++ Stringleri (C++ Strings)
        • 1.9 Matematik (Math) Fonksiyonları
        • 1.10 Booleans
        • 1.11 If Else
        • 1.12 Switch
        • 1.13 While Döngüsü
          • 1.13.1 Do While Döngüsü
        • 1.14 For Döngüsü
        • 1.15 Break/Continue
        • 1.16 Diziler
        • 1.17 Structures
        • 1.18 Enums
        • 1.19 References
        • 1.20 Pointers
      • 2.0 Fonksiyonlar
      • 3.0 Sınıflar
        • 3.1 OOP
        • 3.2 Sınıflar ve Objeler
        • 3.3 Sınıf Methodları
        • 3.4 Yapıcılar (Constructors)
        • 3.5 Erişim Belirleyicileri (Access Specifiers)
        • 3.6 Kapsülleme (Encapsulation)
        • 3.7 Inheritance
        • 3.8 Polimorfizm (Polymorphism)
        • 3.9 Dosyalar (Files)
        • 3.10 İstisnalar (Exceptions)
        • 3.11 Tarih ve Zaman (Date and Time)
      • 4.0 Veri Yapıları (Data Structures)
        • 4.1 Veri Yapıları ve STL
        • 4.2 Vektörler (Vectors)
        • 4.3 Listeler (Lists)
        • 4.4 Yığınlar (Stacks)
        • 4.5 Kuyruklar (Queues)
        • 4.6 Deque (Çift Uçlu Kuyruk)
        • 4.7 Küme (Set)
        • 4.8 Maps
        • 4.9 Iterator
        • 4.10 Algoritmalar
  • 🛠️ARAÇLAR
    • Aircrack-ng
    • Airgeddon
    • Arjun
    • BeEF
    • Bettercap
    • Docker
    • Gelişmiş Wireshark Kullanımı (Advanced Wireshark Usage)
    • Google Dorks
    • Hping3
    • John the Ripper
    • Metasploit Framework
    • Netcat
    • Nmap
    • OSINT Framework
    • PEASS-ng
    • Sublist3r
    • XSS Scanner
    • Wireshark
    • ZAP
    • HYDRA
  • 🖥️İŞLETİM SİSTEMLERİ
    • Linux101
    • MBR
  • 🔑KRİPTOLOJİ
    • Dijital Sertifika ve İmzalar
    • Sezar Şifrelemesi
    • Steganografi
    • Veri Şifreleme (Data Encryption)
  • 🔏Network
    • Domain Name Server (DNS)
    • Firewall Nedir? Nasıl Çalışır ?
    • Ortadaki Adam Saldırısı (Man In The Middle Attack)
    • OSI Modeli
    • Sanal Özel Ağlar (VPN)
    • World Wide Web (WWW)
  • 🔐PRIVILEGED
    • Docker Escape
  • 📨Protokoller
    • ARP
    • DHCP
    • FTP
    • HTTP/HTTPS
    • SSH
    • TCP/IP
    • UDP
    • Wİ-Fİ Güvenlik Protokolleri (WEP/WPA/WPA2/WPA3)
  • 💻SİBER TEHDİT İSTİHBARATI
    • Gelişmiş Siber Tehdit İstihbaratı Nedir?
  • 🔒WEB GÜVENLİĞİ
    • 403 ByPass
    • API Güvenliği (API Security)
    • Broken Access Control
    • Bulut Güvenliği (Cloud Security)
    • Command Injection
    • Cross Origin Resource Sharing
    • Cross Site Request Forgery (CSRF)
    • Cyber Kill Chain
    • DDoS Saldırıları
    • File Upload Zafiyeti Nedir?
    • HTTP Request Smuggling
    • Insecure Direct Object Reference (IDOR)
    • Incident Response
    • Local File Inclusion (LFI)
    • NoSQL Injection
    • Pentest 101
    • Race Condition
    • Server Side Request Forgery (SSRF)
    • Server Side Template Injection (SSTI)
    • Spring4Shell
    • Two Factor Authentication Bypass
    • XML External Entity Attack (XEE)
  • 🤖YAPAY ZEKA
    • ChatGPT for Hacking
    • Siber Güvenlik ve Yapay Zeka
    • Yapay Zeka ile Sahte Fotoğraf Tespiti
  • 🌐YAZILIM
    • Düzenli İfadeler (Regular Expressions)
    • Elasticsearch Nedir?
    • Front-end Teknolojileri
    • Golang'da Arayüzler (Interfaces)
    • Go'da Concurrency ve Uygulamaları
    • Güvenli Kodlama (Secure Coding)
    • Java Overloading vs Overriding
    • JSON Web Token (JWT)
    • Material-UI
    • NextJS Nedir?
    • ReactJS Kancalar (Hooks)
    • ReactJS Nedir?
    • Redux Toolkit
    • SOLID Yazılım Geliştirme Prensipleri
    • SQL 101
    • UI / UX Nedir?
    • Veri Taşıma Nedir? (Database Migration)
    • Versiyon Kontrol Sistemleri ve GIT
  • 🔷DİĞER
    • Bug Bounty (Hata Ödülü) Nedir?
    • Popüler Yazılımların Kurulumları
      • Ubuntu Server 24.04 LTS Kurulumu
      • Ubuntu için Güncel Docker Engine Kurlumu
    • Güvenlik Operasyonları Merkezi Nedir?
    • Honeypot (Bal Küpü)
    • IoT Güvenliği Nedir?
    • ShellShock Exploit
    • Yük Dengeleyici (Load Balancer) Nedir?
Powered by GitBook
On this page
  • DHCP (Dynamic Host Configuration Protocol) Nedir?
  • DHCP Nasıl Çalışır?
  • DHCP'nin Avantajları
  • DHCP Yapılandırma Örnekleri
  • DHCP Özeti

Was this helpful?

  1. Protokoller

DHCP

PreviousARPNextFTP

Last updated 5 months ago

Was this helpful?

DHCP (Dynamic Host Configuration Protocol) Nedir?

DHCP (Dynamic Host Configuration Protocol), bir ağ üzerindeki cihazlara dinamik olarak IP adresleri ve diğer ağ yapılandırma bilgilerini otomatik olarak tahsis eden bir ağ yönetim protokolüdür. DHCP'nin temel amacı, ağ yöneticilerinin IP adreslerini manuel olarak dağıtma gereksinimini ortadan kaldırarak, ağ yönetimini kolaylaştırmaktır. Bu yazıda DHCP'nin nasıl çalıştığını, sürecin adımlarını ve DHCP'nin sunduğu avantajları detaylı bir şekilde inceleyeceğiz.


DHCP Nasıl Çalışır?

DHCP'nin çalışma prensibi oldukça basittir. Bir cihaz (örneğin bir bilgisayar veya akıllı telefon) bir ağa bağlandığında, otomatik olarak bir IP adresi ve gerekli ağ bilgilerini almak için bir DHCP sunucusuyla iletişim kurar. Bu süreç, dört temel adımdan oluşur:

  1. DISCOVER

  2. OFFER

  3. REQUEST

  4. ACKNOWLEDGE

Şimdi ise bu adımları açıklayalım.

1-) DHCP DISCOVER

Bu ilk adımda, ağdaki bir cihaz bir IP adresi ve diğer yapılandırma bilgilerini talep etmek için bir DHCP Discover mesajı gönderir. Bu mesaj, ağdaki tüm DHCP sunucularına yayınlanır. Bu yayın mesajı, IP adresi ataması yapabilecek bir sunucu arar.

Client (0.0.0.0) ---> DHCP Discover ---> Broadcast (255.255.255.255)
İstemci IP'si Neden 0.0.0.0?

Bir cihaz (istemci), ağa ilk bağlandığında henüz kendisine bir IP adresi atanmış değildir. Bu nedenle, DHCP sürecinin başında kendisini "0.0.0.0" IP adresi ile tanıtır. Bu adres, istemcinin henüz ağda geçerli bir IP adresi olmadığını belirtmek için kullanılır.

2-) DHCP OFFER

DHCP sunucusu, bir DHCP Discover mesajı aldığında, uygun bir IP adresi ve diğer ağ yapılandırma bilgilerini içeren bir DHCP Offer mesajı ile yanıt verir. Bu mesajda genellikle IP adresi, alt ağ maskesi, varsayılan ağ geçidi ve DNS sunucu bilgileri bulunur.

DHCP Server (192.168.1.1) ---> DHCP Offer ---> Client (0.0.0.0)

3-) DHCP REQUEST

DHCP istemcisi, kendisine sunulan IP adresini ve diğer yapılandırma bilgilerini kabul etmek için bir DHCP Request mesajı gönderir. Bu adım, istemcinin belirli bir DHCP sunucusundan gelen teklifi kabul ettiğini ve atanan IP adresini kullanmak istediğini belirtir.

Client (0.0.0.0) ---> DHCP Request ---> DHCP Server (192.168.1.1)

4-) DHCP ACKNOWLEDGE

Son adımda, DHCP sunucusu bir DHCP Acknowledge (ACK) mesajı göndererek, istemcinin talebini onaylar ve IP adresi atamasını kesinleştirir. Bu noktada, istemci atanan IP adresini kullanmaya başlar ve ağa tam erişim sağlar.

DHCP Server (192.168.1.1) ---> DHCP ACK ---> Client (192.168.1.100)

DHCP'nin Avantajları

1-) Kolay Yönetim

DHCP, IP adresi tahsisini otomatik hale getirerek ağ yönetimini büyük ölçüde basitleştirir. Ağ yöneticileri, her cihaz için manuel olarak IP adresi atamak zorunda kalmazlar.

2-) Hataların Azaltılması

Manuel IP adresi atama işlemi sırasında yapılan hatalar, ağda çakışmalara ve bağlantı sorunlarına yol açabilir. DHCP, bu tür hataların önüne geçer.

3-) Dinamik IP Atama

DHCP, cihazların ağdan ayrıldıklarında IP adreslerini geri alır ve başka cihazlara yeniden tahsis edebilir. Bu, IP adreslerinin daha verimli kullanılmasını sağlar.

4-) Merkezi Yönetim

DHCP, ağ yöneticilerinin tüm ağ yapılandırma bilgilerini merkezi bir yerden yönetmesine olanak tanır. Bu, ağ değişikliklerini uygulamayı ve yönetmeyi kolaylaştırır.


DHCP Yapılandırma Örnekleri

Bir DHCP sunucusunu yapılandırmak, ağdaki cihazlara otomatik olarak IP adresleri ve diğer yapılandırma bilgileri sağlamak için gereklidir. Aşağıda sizlere örnek olarak yaygın bir DHCP yapılandırma örneği sunulmuştur. Gelin bir bakalım..

1. DHCP Sunucusunun Kurulumu:

Linux tabanlı bir sistemde DHCP sunucusu olarak hizmet vermek için isc-dhcp-server paketini kullanabiliriz.

sudo apt-get update
sudo apt-get install isc-dhcp-server

2. Yapılandırma Dosyasının Düzenlenmesi:

/etc/dhcp/dhcpd.conf dosyasını açalım ve aşağıdaki ayarları ekleyelim.

default-lease-time 600;
max-lease-time 7200;
authoritative;

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.200;
    option routers 192.168.1.1;
    option subnet-mask 255.255.255.0;
    option domain-name-servers 8.8.8.8, 8.8.4.4;
    option domain-name "example.com";
}

Yukarıdaki conf dosyasında, bir DHCP sunucusunun ağdaki istemcilere IP adresleri ve diğer ağ yapılandırma bilgilerini nasıl dağıtacağını tanımlar.

Şimdi ise bu kodlar ne işe yarıyor onlara bakalım:

  • default-lease-time 600;

    • Anlamı: Varsayılan kira süresi 600 saniye (10 dakika) olarak ayarlanmıştır.

    • Görevi: Bu, istemcinin kiraladığı IP adresini kullanabileceği varsayılan süreyi belirtir. İstemci bu süre dolmadan önce IP adresini yenilemezse, kira süresi dolmuş olur.

  • max-lease-time 7200;

    • Anlamı: Maksimum kira süresi 7200 saniye (2 saat) olarak ayarlanmıştır.

    • Görevi: Bu, bir istemciye kiralanabilecek IP adresinin en uzun süresini belirtir. Bu süreden sonra istemci IP adresini yenilemek zorundadır.

  • authoritative;

    • Anlamı: Bu sunucunun yetkili DHCP sunucusu olduğunu belirtir.

    • Görevi: Bu ayar, bu sunucunun DHCP taleplerine yanıt verme yetkisi olduğunu belirtir. Ağda birden fazla DHCP sunucusu varsa, bu sunucunun talepleri yönetme yetkisi olduğunu belirtir.

  • subnet 192.168.1.0 netmask 255.255.255.0 {

    • Anlamı: 192.168.1.0/24 alt ağı için yapılandırma başlatır.

    • Görevi: Alt ağın IP adres aralığını ve alt ağ maskesini tanımlar. Bu alt ağ içinde DHCP sunucusunun nasıl davranacağını belirtir.

  • range 192.168.1.100 192.168.1.200;

    • Anlamı: 192.168.1.100 ile 192.168.1.200 arasındaki IP adresleri dağıtılabilir.

    • Görevi: Bu, DHCP sunucusunun bu alt ağda dağıtabileceği IP adreslerinin aralığını belirler.

  • option routers 192.168.1.1;

    • Anlamı: Varsayılan ağ geçidi olarak 192.168.1.1 IP adresi kullanılır.

    • Görevi: DHCP istemcilerine varsayılan ağ geçidi adresini sağlar. İstemciler bu adresi, alt ağın dışına çıkmak için kullanırlar.

  • option subnet-mask 255.255.255.0;

    • Anlamı: Alt ağ maskesi olarak 255.255.255.0 kullanılır.

    • Görevi: DHCP istemcilerine bu alt ağ maskesini gönderir. Bu maske, alt ağın boyutunu ve yapılandırmasını belirler.

  • option domain-name-servers 8.8.8.8, 8.8.4.4;

    • Anlamı: DNS sunucuları olarak 8.8.8.8 ve 8.8.4.4 IP adresleri kullanılır.

    • Görevi: DHCP istemcilerine kullanacakları DNS sunucularını belirtir. Bu örnekte, Google DNS sunucuları kullanılmıştır.

  • option domain-name "example.com";

    • Anlamı: Alan adı olarak "example.com" kullanılır.

    • Görevi: DHCP istemcilerine bu alan adını sağlar. İstemciler, DNS taleplerinde bu alan adını kullanabilir.

Kodların ne işe yaradığını öğrenmiş olduk. Şimdi ise akılda daha iyi kalması için özet bir şekilde bakalım.

  1. İstemciler 192.168.1.100 ile 192.168.1.200 arasında IP adresleri alacaklar.

  2. Varsayılan ağ geçidi 192.168.1.1 olacak.

  3. Alt ağ maskesi 255.255.255.0 olacak.

  4. DNS sunucuları 8.8.8.8 ve 8.8.4.4 olacak.

  5. İstemciler "example.com" alan adını kullanacaklar.

3. DHCP Sunucusunun Başlatılması:

sudo systemctl restart isc-dhcp-server

Son olarak yukarıdaki kodumuzu yazıyoruz. Bunu yazma amacımız yapılandırma değişikliklerinden sonra bunların uygulanabilmesi ve hizmetlerin doğru çalışması için gereklidir.

  • Bu basit yapılandırma, 192.168.1.0/24 ağı için IP adresi tahsisi yapacak ve istemcilere ağ geçidi, alt ağ maskesi ve DNS sunucusu bilgilerini sağlayacaktır.


DHCP Özeti

DHCP, modern ağlarda IP adresi yönetimini ve diğer ağ yapılandırma bilgilerinin dağıtımını büyük ölçüde kolaylaştıran önemli bir protokoldür. Manuel IP adresi atama işlemlerini otomatikleştirerek ağ yönetimini basitleştirir, hataları azaltır ve ağ kaynaklarının daha verimli kullanılmasını sağlar. Hem küçük hem de büyük ölçekli ağlarda DHCP'nin kullanımı, ağ yönetiminin vazgeçilmez bir parçası haline gelmiştir.

  • Umarım faydalı bir yazı olmuştur. Keyifli kodlamalar..

📨
muratbulut - OverviewGitHub
Logo