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
  • Ağ Protokolü (Network Protocol) Nedir?
  • TCP Nedir?
  • TCP Bağlantısı Nasıl Kurulur?
  • IP Nedir?
  • IP Adresi Nedir?
  • IP Adresleri Nasıl Oluşturulur?
  • IP Adreslerini Yakından İnceleyelim.
  • IPv4 Adreslerinin Teknik Yapısı
  • IPv6 Adreslerinin Teknik Yapısı

Was this helpful?

  1. Protokoller

TCP/IP

PreviousSSHNextUDP

Last updated 4 months ago

Was this helpful?

Selamlar, bu yazıda TCP/IP modelinin ne olduğundan ve nasıl çalıştığından bahsedeceğim. Öncelikle ağ protokollerin ne olduğundan başlayalım. Sonrasında konumuza girelim.

Ağ Protokolü (Network Protocol) Nedir?

İki veya daha fazla cihazın birbirleriyle iletişim kurabilmesi ve anlayabilmesi için belirli eylemleri gerçekleştirmenin ve verileri biçimlendirmenin standartlaştırılmış yoludur.

Protokollerin neden gerekli olduğunu anlamak için günlük hayata bir bakalım; bir mektup postalama sürecini düşünün. Zarfın üzerine adresler şu sırayla yazılır: alıcı bilgileri, gönderen bilgileri ve içerik. Aynı şekilde, tüm IP veri paketlerinin belirli bilgileri belirli bir sırada sunması gerekir ve tüm IP adresleri standartlaştırılmış bir biçimi izler.

TCP Nedir?

Türkçe karşılığı İletişim Kontrol Protokolü olan TCP'nin açılımı Transmission Control Protocol'dür. Bilgisayarlar arasında veri (data) ve mesajları kayıpsız bir şekilde iletmek için kullanılan bir protoküldür. TCP, veriyi gönderirken ve alırken verinin bütünlüğünü garanti eder. Birçok protokol veri iletimini sağlarken TCP'yi kullanır.

TCP Bağlantısı Nasıl Kurulur?

TCP, bilgisayarlar arasında kayıpsız bir iletişim kurmak için kullanıldığından aslında basit bir çalışma mantığı vardır. Türkçe'de üçlü el sıkışması dediğimiz 3-Way Handshake sürecinden oluşur. Adında olduğu gibi aslında 3 aşama vardır.

Yukarıdaki görselde görüldüğü gibi bağlantıyı başlatan tarafından bağlantı kurulacak hedefe SYN=1 paketi gönderilir. Sonrasında geri cevap olarak SYN=1 ACK=1 paketi gönderilir. SYN=1 ACK=1 paketini alan ACK=1 paketini gönderir ve bağlantı tamamlanır.

Bu süreçteki önemli bazı bayrakları (flag) inceleyelim.

  • SYN Synchronization: Bağlantının ilk gelen ve giden paketlerinde kullanılan bayraktır. Oturumun onay sırasını belirlemede rol alır.

  • ACK Acknowledgement: Başarılı bir şekilde alınan paketleri kabul etmek için kullanılır.

  • FIN Finish: Bağlantının düzgün bir şekilde sonlandırılması için kullanılır. SYN bayrağının tersi diyebiliriz.

  • RST Reset: Alıcı, bağlantı sırasında güvenlik sorunu, hatalar vb. bir sorunla karşılaşıldığında bağlantıyı direkt olarak iptal eder.

  • PSH Push: Veriyi direkt olarak teslim etmek için kullanılır. Gerçek zamanlı veri aktarımlarında yaygın olarak kullanılır. Örneğin; 5G teknolojisi olan Open5GS'teki servisler arasındaki iletişimde kullanılmaktadır.

IP Nedir?

Türkçe karşılığı İnternet Protokolü olan IP adını Internet Protocol'ün kısaltmasından alır. Verilerin, ağlar arasında doğru hedefe ulaşabilmeleri için bir nevi adreslemek için kullanılan bir protokoldür. IP bilgileri her pakete eklenir ve yönlendiricilerin (routers) paketleri doğru adrese göndermelerine yardımcı olur.

İnternete bağlanan her cihaza bir IP adresi (ip address) atanır ve paketler, IP adreslerine yönlendirilerek ihtiyaç duyulan adreslere ulaşır.

IP Adresi Nedir?

IP adresi, Internet'e bağlanan bir cihaza atanan benzersiz bir tanımlayıcıdır. Her IP adresi, '10.10.67.1' ya da '3b18:2293:16:67::1' gibi bir dizi karakterdir.

IP Adresleri Nasıl Oluşturulur?

IP adresleri, Internet of Assigned Numbers Authority (IANA) tarafından bir algoritma kullanılarak otomatik oluşturulur. IANA daha sonra IP adres bloklarını bölgesel internet kayıtlarına (RIR) ayırır ve bu bloklar coğrafi olarak internet servis sağlayıcılarına (ISP) dağıtılır. ISP'ler IP adresleri oluşturmak için genellikle Dynamic Host Configuration Protocol (DHCP) kullanır. DHCP, ağa bağlanan aygıtlara otomatik olarak IP adresi ataması yapar.

IP Adreslerini Yakından İnceleyelim.

IP adresleri İnternet Protokolü'nün (IP) iki ana sürümü kullanılarak oluşturulur: Bunlar IPv4 ve IPv6. Cihazlar; IANA, RIR ve ISP'ler tarafından belirlenen kuralları ve protokolleri kullanarak benzersiz IP adresleri elde edebilir.

İkilik (Binary), Sekizlik (Octal), Onluk (decimal) ve Onaltılık (Hexadecimal) sayı sistemlerini bilmiyorsanız araştırmanızı öneririm. Octal hariç sayı sistemleri için bilgi notlarını yazı içerisinde ekledim.

  • Decimal (onluk) sayı sistemi, günlük hayatta kullandığımız aşina olduğumuz sayı sisteminin ta kendisidir.

  • Binary (ikili) sayı sistemi, 0 ve 1 karakterlerinden oluşur. Elektronik devrelerinde kolay uygulanabilmesi sebebiyle bilgisayar sistemleri binary sayı sistemini kullanır.

  • Hexadecimal (onaltılık) sayı sistemi; 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E ve F karakterlerinden oluşur. Bilgisayar sistemlerinde yaygın olarak kullanılır.

IPv4 Adreslerinin Teknik Yapısı

Yukarıda IPv4 adreslerinin decimal sayı sistemini kullandığını ve 32 bit olduğunu belirtmiştim. Şimdi örnek bir IPv4 adresini bit düzeyinde inceleyelim. IPv4 adreslerinin sayısı sınırlı ve az olduğundan, özel ağlar ve çeşitli yöntemler oluşturulmuştur: LAN, WAN, NAT vb.

10.20.67.123

Decimal olarak verilen IPv4 adresini ikili (binary) sayı sistemi üzerinde inceleyelim.

000001010 . 00001010 . 00100011 . 01111011

Binary sistemde her bir karakter 1 bit olduğundan örnekteki karakterleri saydığımızda 32 bit olduğunu ve 8 bitler halinde noktalarla ayrıldığını görebiliyoruz. Bu demek oluyor ki IPv4 adresleri 0.0.0.0 ile 255.255.255.255 arasında olabilir. Aşağıda bazı örnekler verilmiştir. Bunların hangileri IPv4 adresidir hangileri değildir inceleyelim.

100.234.76.254

[Evet] IPv4 Adresidir.

23.256.254.123

[Hayır] IPv4 adresi değildir. Çünkü 256 sayısı 8 bit değildir.

1.1.1.0.1

[Hayır] IPv4 adresi değildir. Çünkü verilen ifade 32 bit değildir.

9.9.9.9

[Evet] IPv4 Adresidir.

IPv6 Adreslerinin Teknik Yapısı

IPv6 adreslerinin hexadecimal sayı sistemini kullandığını ve 128 bit olduğunu belirtmiştim. IPv6 adresindeki her bir karakter 4 bittir ve IPv6 adresleri ":" ile her parça 16 bit olacak şekilde ifade edilir. Şimdi örnek bir IPv6 adresini inceleyelim. IPv6 adreslerinin sayısı fazla ve uzun olduğundan hexadecimal sayı sistemi tercih edilmiş ve bir kullanım formatı belirlenmiştir. IPv6 adresleri çok uzun olduğundan tamamını yazmak çok uzun ve yorucu olabiliyor. Bu sebeple kısa kullanımı bulunmaktadır.

Örnek IPv6 adresi üzerinde inceleyelim: 3b18:2293:0016:0067:0000:0000:fb4c:0618

  • Eğer 16 bitlik kısmın tamamı sıfırlardan oluşuyorsa sıfırların hepsi silinerek yazılabilir. Burada sadece şuna dikkat edilmesi gerekiyor; sadece bir kez "::" şeklinde bir kullanım olabilir. Örnek: 3b18:2293:0016:0067:0000:0000:fb4c:0618 Örnek: 3b18:2293:0016:0067::fb4c:0618

  • Eğer 16 bitlik kısmın başlarında sıfır bulunuyorsa yazılmak zorunda değildir. Örnek: 3b18:2293:0016:0067:0000:0000:fb4c:~~0~~618 Örnek: 3b18:2293:16:67::fb4c:618

Yukarıda verilen IPv6 adresini önce binary sistemde nasıl gözüktüğünü inceleyelim. IPv6 adresi çok uzun olduğundan sadece son 32 bitlik kısmını inceleyeceğiz.

... : 1111101101001100 : 0000011000011000

Şimdi de parça parça inceleyelim.

  • /48 [Küresel Yönlendirme Öneki] IPv6 adresinin ilk 48 bitini ifade eder. İnternet servis sağlayıcılar (ISP) veya Bölgesel İnternet Kayıt Merkezi (RIR) tarafından kurumlara verilen önek bilgisini içermektedir. 48 bitlik kısmın ilk 23 biti RIR'lara ve RIR'lar tarafından 23 bit ile 32 bit arasındaki kısım ISP'lere dağıtılır. ISP'ler ise 48 bitin son 16 bitini kurumlara dağıtır.

  • /64 [Alt Ağ Arabirim Tanıtıcısı] 48 bit ile 64 bit arasındaki 16 bitlik kısım için kurumların kendi içerisinde oluşturduğu alt ağları ifade eder.

  • /128 [Arabirim Tanıtıcısı] 64 bit ile 128 bit arasındaki 64 bitlik kısım için her bir alt ağ içerisindeki istemcilere (cihazlara) verilecek olan IP aralığıdır.

IPv6 öğrendiklerimizden demek oluyor ki IPv6 adresleri :: ile ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff arasında olabilir. Aşağıda bazı örnekler verilmiştir. Bunların hangileri IPv6 adresidir hangileri değildir inceleyelim.

3b18::16::6128

[Hayır] IPv6 adresi değildir. Çünkü "::" şeklinde kullanım bir kez olmalıdır. Fakat burada iki kez kullanılmış.

3b18:2293:16:67::fb4c:618

[Evet] IPv6 adresidir.

3b18:2293:16:67::a4ce:45:fb4c:618

[Hayır] IPv6 adresi değildir. Çünkü verilen ifade 128 bitten fazladır.

::1

[Evet] IPv6 adresidir.

Yazının sonuna geldin! Bu yazıda genel olarak TCP/IP, IPv4 ve IPv6 protokollerinden bahsettim. Umarım yazdıklarım faydalı olmuştur. Saygılarımla,

📨

IPv4 10.10.67.145

  • 1981 yılında kullanılmaya başlanmıştır.

  • 4.294.967.296 IPv4 adresi oluşturulabilir. (2^32)

  • Noktalarla "." ayrılarak kullanılır.

  • Onluk (decimal) sayı sistemini kullanır.

  • 32 bit

  • DHCP ya da elle yapılandırma yapılmalı.

IPv6 3b18:2293:0016:0067:0000:0000:fb4c:0618

  • 1998 yılında kullanılmaya başlanmıştır.

  • 340.282.366.920.938.463.463.374.607.431.768.211.456 IPv6 adresi oluşturulabilir. (2^128)

  • İki nokta üst üstelerle ":" ayrılarak kullanılır.

  • Onaltılık (hexadecimal) sayı sistemini kullanır.

  • 128 bit

  • Otomatik yapılandırma yapılır.

  • Akıllı cihazların artması sebebiyle IPv4 adreslerinin yetersiz kalmasının önüne geçmek için ortaya çıkmıştır.

mozlercelik - OverviewGitHub
Bu yazı Mehmet Özler Çelik tarafından hazırlanmıştır.
Logo
TCP/IP
3-Way Handshake
ip address & data packet