Port numarası nasıl bulunur?
Port Numarası Nasıl Bulunur?
Ağ güvenliği veya sistem yönetimi ile ilgileniyorsan, bir sunucuda hangi servislerin çalıştığını anlamak için port numaralarını bilmen şart. Belki bir uygulama kurdun ve hangi portu kullanması gerektiğini merak ediyorsun, ya da bir güvenlik duvarı kuralı tanımlaman gerekiyor ve hangi portları açık bırakman gerektiğini bilmiyorsun. Durum ne olursa olsun, port numaralarını bulmanın birkaç etkili yolu var. Deneyimlerime göre, bu süreci daha anlaşılır hale getirecek bazı pratik yöntemlere odaklanalım.
Hangi Portlar Açık? Ağ Tarama Araçları
Bir sunucuda hangi portların dinlendiğini anlamanın en yaygın yolu ağ tarama araçlarını kullanmaktır. Bu araçlar, belirttiğin IP adresindeki veya ağdaki bilgisayarlara belirli portlara istekler gönderir ve geri dönüşlere göre portun durumunu (açık, kapalı, filtrelenmiş) raporlar.
- Nmap (Network Mapper): Bu, alanında altın standarttır diyebilirim. Çok yönlü ve güçlü bir araç. Bir sunucuda hangi portların açık olduğunu görmek için basitçe şu komutu kullanabilirsin:
nmap -p-
.-p-
parametresi tüm 65535 portu tarar. Daha hızlı bir tarama içinnmap -sV
komutuyla portları tarayabilir ve hangi servislerin çalıştığını (versiyon bilgisiyle birlikte) öğrenebilirsin. Örneğin,nmap -sV 192.168.1.100
komutu, 192.168.1.100 IP adresindeki açık portları ve üzerlerinde çalışan servisleri listeler. - Netcat (nc): Bu araç da oldukça kullanışlıdır ve daha çok belirli portları manuel olarak kontrol etmek için idealdir. Örneğin, bir sunucudaki
- portun HTTP için açık olup olmadığını kontrol etmek istersen:
nc -zv
. Eğer port açıksa, "Connection to80 80 port [tcp/*] succeeded!" gibi bir çıktı alırsın.
- portun HTTP için açık olup olmadığını kontrol etmek istersen:
Bu araçları kullanırken dikkatli olmalısın. İzinsiz ağ taraması yapmak yasa dışı olabilir. Kendi ağındaki veya yetkilendirilmiş olduğun sistemlerde kullanmalısın.
Hangi Servisler Hangi Portları Kullanır? Bilinen Portlar
Her ne kadar ağ tarama araçları en doğru bilgiyi verse de, bazı standart servislerin belirli portları kullandığını bilmek işini kolaylaştırır. Bu, tahmin yürütmeni ve sorun gidermeni hızlandırır.
- HTTP (Web Sunucuları): Genellikle 80 (IPv4) ve 443 (HTTPS, güvenli web trafiği) portlarını kullanır. Bir web sitesine bağlandığında tarayıcın bu portlara istek gönderir.
- SSH (Güvenli Kabuk): Uzak sunuculara güvenli bir şekilde bağlanmak için kullanılır ve varsayılan olarak 22. portu kullanır.
- FTP (Dosya Aktarım Protokolü): Dosya transferi için kullanılır ve genellikle 21. portu (kontrol için) ve 20. portu (veri aktarımı için) kullanır.
- SMTP (E-posta Gönderme): E-posta göndermek için kullanılır ve varsayılan olarak 25. portu kullanır.
- POP3 (Postane Protokolü sürüm 3): E-postaları almak için kullanılır ve 110. portu kullanır.
- IMAP (İnternet Mesaj Erişim Protokolü): E-postaları almak için kullanılır ve 143. portu kullanır.
Bu standart portları bilmek, güvenlik duvarı kuralları oluştururken veya bir servisin çalışıp çalışmadığını anlamaya çalışırken sana büyük bir başlangıç noktası sağlar. Örneğin, bir sunucuda web servisi olup olmadığını anlamak için ilk bakacağın portlar 80 ve 443 olur.
Kendi Sisteminde Hangi Portlar Açık?
Eğer kendi bilgisayarında veya sunucunda hangi portların dinlendiğini merak ediyorsan, işletim sisteminin sunduğu araçları kullanabilirsin. Bu, bir uygulamanın doğru portu kullanıp kullanmadığını veya zararlı bir yazılımın arka planda hangi portları açtığını anlamak için önemlidir.
- Windows: Komut İstemi'ni (CMD) veya PowerShell'i açıp
netstat -ano
komutunu kullanabilirsin. Bu komut, bilgisayarındaki tüm aktif bağlantıları ve dinlenen portları gösterir.-a
tüm bağlantıları,-n
adres ve port numaralarını sayısal olarak,-o
ise ilgili işlemin (PID) numarasını gösterir. Belirli bir portu aramak içinnetstat -ano | findstr :
şeklinde filtreleme yapabilirsin. Örneğin,- portu aramak için:
netstat -ano | findstr :80
.
- portu aramak için:
- Linux/macOS: Terminal'i açıp
sudo netstat -tulnp
komutunu kullanabilirsin.-t
TCP bağlantılarını,-u
UDP bağlantılarını,-l
sadece dinlenen portları,-n
sayısal adresleri ve-p
ise portu kullanan işlemin adını ve PID'sini gösterir.sudo
kullanmak, tüm işlemlerin bilgilerini görmeni sağlar. Örneğin,sudo netstat -tulnp | grep ':80'
komutu,- portta çalışan servisi gösterir.
Bu komutlar, hangi programın hangi portu kullandığını anlamana yardımcı olur. Örneğin, bir web sunucusu kurdun ve
- portun gerçekten dinlendiğini doğrulamak istiyorsan, bu komutlar en iyi dostundur.
Pratik İpuçları ve Öneriler
Port numaralarıyla çalışırken bazı deneyimlerime dayalı önerilerim var:
- En Az Yetki Prensibi: Güvenlik duvarı kuralları oluştururken, sadece gerçekten ihtiyaç duyduğun portları aç. Gereksiz yere açık kalan portlar, potansiyel güvenlik açıklarına davetiye çıkarır.
- Port Yönlendirme (Port Forwarding): Ev veya ofis ağındaki bir cihaza dışarıdan erişmek istediğinde (örneğin evindeki NAS cihazı veya oyun sunucusu), router'ında port yönlendirme yapman gerekir. Bu işlemde, dışarıdan gelen belirli bir porttaki trafiği ağındaki belirli bir cihaza ve portuna yönlendirirsin.
- Değişen Portlar: Bazı uygulamalar veya servisler, varsayılan portlardan farklı portlar kullanmak üzere yapılandırılabilir. Bu nedenle sadece varsayılan portlara bakmak yanıltıcı olabilir. Ağ tarama araçları bu noktada en doğru sonuçları verir.
- Dinamik Portlar: Bazı protokoller (örneğin FTP'nin veri bağlantısı), oturumlar sırasında rastgele seçilen dinamik portlar kullanabilir. Bu tür durumlar için genellikle bir port aralığının (örneğin 50000-51000) açık olması gerekebilir.
Port numaralarını bulmak ve yönetmek, ağ güvenliğinin temel taşlarından biridir. Bu yöntemlerle, sistemlerinin nasıl çalıştığını daha iyi anlayabilir ve olası güvenlik tehditlerine karşı daha hazırlıklı olabilirsin.