Ağ portu nedir ve nasıl çalışır
Ağ portu, işletim sisteminin tek bir cihazdaki farklı ağ bağlantılarını ayırt etmesini sağlayan mantıksal bir tanımlayıcıdır. IP adresini bir binanın adresi olarak düşünürsek, port bu binadaki belirli bir dairenin veya ofisin numarası gibidir. Portlar sayesinde bilgisayarınız, verileri bu uygulamalar arasında karıştırmadan aynı anda web sayfalarını yükleyebilir, e-postaları kontrol edebilir ve çevrimiçi oyun oynayabilir.
Portlar olmasaydı, gelen tüm trafik tek bir yığına dönüşürdü ve sistem hangi programın veri alındığı konusunda bilgilendirileceğini bilemezdi.
Özetle: Port, belirli bir uygulamaya "atanan" 0 ile 65535 arasında bir sayıdır. Sisteme şunu söyler: "Bu numaraya gelen veriler tarayıcı/oyun/mesajlaşma uygulaması içindir."
Bilgisayarda ve internette portlara neden ihtiyaç duyulur
Portların ana görevi çoklama (multiplexing) yapmaktır. Bu, tek bir ağ bağlantısı üzerinden birden fazla servisin aynı anda çalışabilmesi anlamına gelen teknik bir terimdir.
Şu durumu hayal edin: Bir haber sekmesi açtınız (port 80 veya 443) ve paralel olarak Zoom veya Telegram'da görüntülü arama başlattınız. Her iki kaynaktan gelen veriler bilgisayarınızın aynı IP adresine gelir. Sistem, hangi paketlerin tarayıcıya, hangilerinin arama uygulamasına gönderileceğini nasıl anlar?
İşte burada portlar devreye girer:
- Servis kimliklendirmesi. Çalışan her ağ işlemi kendi benzersiz portunu "dinler".
- İşletim sistemi içinde yönlendirme. İşletim sisteminin ağ yığını, paket başlığındaki port numarasına bakar ve verileri doğru uygulamaya iletir.
- Gelen ve giden trafiğin ayrılması. Portlar, özellikle yüzlerce bağlantı olduğunda iletişim oturumlarının bütünlüğünü korumaya yardımcı olur.
Portların yapısı: Aralıklar ve türler
Toplamda 65.536 port bulunur (numaralandırma 0'dan 65535'e kadardır). Kolay yönetim için bunlar IANA (Internet Assigned Numbers Authority) kuruluşu tarafından düzenlenmiş üç ana gruba ayrılmıştır.
1. Sistem (kayıtlı) portları: 0–1023
Bunlar en popüler internet servislerine ayrılmış "elit" portlardır. Dünyadaki herhangi bir kullanıcının bilinen bir adres üzerinden standart bir servise erişebilmesi için kullanımları sıkı bir şekilde düzenlenmiştir.
| Port | Protokol | Amaç |
|---|---|---|
| 20, 21 | FTP | Dosya transferi |
| 22 | SSH | Güvenli uzaktan yönetim |
| 25 | SMTP | E-posta gönderme |
| 53 | DNS | Site isimlerini IP adreslerine dönüştürme |
| 80 | HTTP | Normal web trafiği (güvenli değil) |
| 110 | POP3 | E-posta alma |
| 443 | HTTPS | Güvenli web trafiği (şifreli) |
1024'ten düşük portlarda servis çalıştırmak genellikle yönetici (root) hakları gerektirir. Bu, normal kullanıcıların sistem servislerini taklit etmesini (örneğin, 80. portta sahte bir web sunucusu çalıştırmasını) önlemek için güvenlik amacıyla yapılmıştır.
2. Kullanıcı portları: 1024–49151
Bu aralık, sistem standartları olmayan ancak sabit numaralara sahip kayıtlı uygulamalar için kullanılır. Örneğin, birçok veritabanı, oyun sunucusu veya kurumsal yazılım bu aralıktaki portları kullanır (örneğin, MySQL genellikle 3306'yı, Windows Uzaktan Masaüstü için RDP ise 3389'u kullanır).
3. Dinamik (özel) portlar: 49152–65535
Bunlar geçici veya efemer portlar olarak da adlandırılır. Belirli servislerle ilişkilendirilmemişlerdir. Bir web sitesini açtığınızda, bilgisayarınız giden bağlantı için bu aralıktan boş bir port seçer.
Çalışma örneği:
- Tarayıcınız
google.comadresini açmak ister. - Google'ın IP adresine 443 portuna (HTTPS için standart) istek gönderir.
- Tarayıcı, geri dönüş adresi olarak kendi IP'sini ve rastgele bir dinamik portu (örneğin 54321) belirtir.
- Google sunucusu, sizin IP'nize ve 54321 portuna yanıt verir.
- İşletim sisteminiz 54321 portuna gelen yanıtı görür ve "Ah, bu tarayıcıdan gelen o isteğin yanıtı" diyerek verileri oraya iletir.
TCP ve UDP: Portlarla çalışma farkları
Portlar, OSI modelinin taşıma katmanında bulunur ve iki ana protokol tarafından kullanılır: TCP ve UDP. Port numaraları aynı olsa bile (TCP port 80 ve UDP port 80 farklı "kapılardır"), çalışma prensipleri farklıdır.
- TCP (Transmission Control Protocol): Teslimatı garanti eder. Veri aktarımından önce bir bağlantı kurulur ("el sıkışma"). Bilginin bütünlüğünün önemli olduğu yerlerde kullanılır: web siteleri, e-posta, dosyalar.
- UDP (User Datagram Protocol): Teslimatı ve paket sırasını garanti etmez, ancak daha hızlı çalışır. Hızın önemli olduğu, birkaç paket kaybının kritik olmadığı yerlerde kullanılır: çevrimiçi oyunlar, video akışı, VoIP aramaları, DNS sorguları.
Yönlendiricide port yönlendirme ayarlarken, doğru protokolleri (TCP, UDP veya her ikisi) belirtmek önemlidir. Yanlış seçim, uygulamanın dışarıdan bağlanamamasına neden olur.
Güvenlik: Açık ve kapalı portlar
Saldırganlar için açık portlar, ağınıza giriş yapabilecekleri potansiyel noktalardır. Bu nedenle, hangi portların açık olduğunu anlamak güvenlik açısından kritik öneme sahiptir.
- Açık port: Bu portta, dışarıdan gelen bağlantıları kabul etmeye hazır bir program "dinliyor" demektir. Eğer bu bir web sunucusu ise normaldir. Eğer bilinen güvenlik açıkları olan eski bir yazıcı sunucusu ise risklidir.
- Kapalı port: Bu porta yapılan bağlantı aktif olarak reddedilir veya yok sayılır.
- Filtrelenmiş port: Güvenlik duvarı (firewall) porta erişimi engeller ve tarayıcı hiçbir yanıt almaz.
Temel tehditler
- Port tarama. Hackerlar, IP adresinizde hangi portların açık olduğunu kontrol etmek için Nmap gibi araçlar kullanır.
- Hassas servislere saldırılar. Açık bir portta güvenlik açığı bulunan eski bir program sürümü çalışıyorsa, saldırgan cihaz üzerinde kontrol sağlayabilir.
- DDoS saldırıları. Belirli portlara anlamsız isteklerle kanalın tıkandırılması.
Cihazınızdaki açık portları nasıl kontrol edersiniz
Bilgisayarınızda şu anda hangi portların aktif olduğunu kendiniz öğrenebilirsiniz. Bu, ağ sorunlarını gidermek veya şüpheli aktivite olup olmadığını kontrol etmek için faydalıdır.
Windows'ta
Win + Rtuşlarına basın,cmdyazın ve Enter'a basın.- Siyah pencerede şu komutu girin:
netstat -ano
```
3. Bağlantı listesini göreceksiniz. `Local Address` sütunu IP'nizi ve portunuzu gösterir (örneğin, `192.168.1.5:443`). `PID` sütunu, bu portu kullanan işlemin tanımlayıcısını gösterir.
4. Programın adını öğrenmek için Görev Yöneticisi'ni açın, "PID" sütununu görünür hale getirin ve ilgili numarayı bulun.
### macOS ve Linux'ta
Terminal'i açın ve şu komutu kullanın:
```bash
sudo lsof -i -P -n | grep LISTEN
veya daha modern bir alternatif:
ss -tuln
Bu komutlar, dinleyen tüm portların ve onlara bağlı işlemlerin listesini gösterecektir.
Portlarla çalışırken yapılan yaygın hatalar
Ev sunucuları, oyunlar veya güvenlik kameraları kurarken kullanıcılar genellikle tipik sorunlarla karşılaşır.
- Port çakışması. İki uygulama aynı portu meşgul etmeye çalışır (örneğin, 80. portta iki web sunucusu). Çözüm: Uygulamalardan birinin portunu ayarlarından değiştirin.
- Güvenlik duvarı engeli. Port programda açıktır ancak Windows'un yerleşik güvenlik duvarı veya antivirüs yazılımı tarafından engellenmiştir. Çözüm: Güvenlik duvarı ayarlarında uygulama için bir istisna kuralı ekleyin.
- Yönlendiricide yönlendirme eksikliği (NAT). Bilgisayarda sunucu ayarladınız ancak arkadaşlarınız internetten bağlanamıyor. Sebep: Yönlendirici gelen verileri kime ileteceğini bilmiyor. Çözüm: Yönlendirici arayüzünde Port Forwarding (port yönlendirme) ayarlayın, bilgisayarın dahili IP'sini ve gerekli portu belirtin.
- Dinamik IP. Sağlayıcınız yönlendiriciyi her yeniden başlattığınızda harici IP adresinizi değiştiriyorsa, port yönlendirme ayarlarınız geçersiz hale gelir. Çözüm: Dynamic DNS (DDNS) servislerini kullanın.
SSS: Popüler sorulara yanıtlar
Bir servisin standart portunu değiştirebilir miyim?
Evet, çoğu program standart olmayan bir port ayarlamaya izin verir (örneğin, web sunucusunu 80 yerine 8080 portunda çalıştırmak). Ancak böyle bir servise tarayıcıdan erişirken, portu adres çubuğunda açıkça belirtmeniz gerekir: http://site.com:8080.
Oyunlar için port açmak güvenli midir? Genellikle evet. Modern oyunlar güvenli protokoller kullanır. Ancak her zaman sadece oyunun resmi belgelerinde belirtilen portları açmalı ve acil bir ihtiyaç yoksa DMZ özelliğini (cihaz için tüm portların tamamen açılması) etkinleştirmemelisiniz.
127.0.0.1 loopback adresi nedir?
Bu yerel adrestir ("localhost"). Bu adresteki portlara yalnızca bilgisayarınızın içinden erişilebilir. Bir web sunucusu 127.0.0.1:80 adresini dinliyorsa, siz kendiniz ona erişebilirsiniz ancak dış ağdan hiç kimse bağlanamaz. Bu, servisleri test etmenin en güvenli yoludur.
Neden sadece 65535 port var? Bu sınırlama, TCP ve UDP protokol başlıklarının yapısına dahildir. Port numarası 16 bit ile kodlanır. 16 bite yazılabilecek maksimum sayı $2^{16} - 1 = 65535$'tir. Bu miktar, günümüzdeki herhangi bir görev için fazlasıyla yeterlidir.