DNS konusunda 53 portundan bahsetmiştik şimdi bunu detaylandıralım. Günümüz dünyasında birçok işletim sistemi birden fazla programın aynı anda çalışmasına izin vermektedir. Bu programlardan bazıları dışarıdan gelen istekleri (istemci-client/request) kabul etmekte ve uygun gördüklerine cevap (sunucu-server/response) vermektedir (TCP). Sunucuların birbiri arasında bu haberleşmesini IP adresleri üzerinden yaptığını söylemiştik. Peki sunucular eriştiği hedefteki hangi programdan hizmet alacağını nasıl belirler? Bu sorunun cevabı da port numaralarıdır.
Bazı sunucu programları, daha önce herkes tarafından bilinen 'port' lardan hizmet verirken bazıları da sunucu programını çalıştıran kişinin türüne ve isteğine göre değişik 'port' lardan hizmet verir. Dolayısıyla, ağ üzerindeki herhangi bir sunucu programa bağlanmak istenildiğinde, programın çalıştığı bilgisayarın adresinin yanında istekleri kabul ettiği 'port' numarasını da vermek gerekir.
Herkes tarafında kabul görmüş sabit port numaraları olan well-know portlar 1024 ve altındakilerdir, 1024 üstündeki portlar genelde TCP connection’ı başlatan client tarafında kaynak port olarak kullanılmaktadır. Toplam port sayımız 65535’tir.
En çok bilinen port numaları aşağıdaki gibidir,
Mesela bilgisayarınızdan browser’a bir internet sitesi çağırdığınızda önce 53 portundan o sitenin IP’sini buluyor, daha sonrada HTTP veya HTTPS üzerinden siteye ulaşılıyor. Mailleri çalıştırırken 25 portunu kullanıyoruz.
Buradan yola çıkarak gideceğiniz hedefte hangi hizmet veriliyor onun aktif olup olmadığını bu port numaralarını kullanarak anlayabiliyoruz. Telnet ile portların açık veya kapalı olduğunu öğrenebiliriz.
*port kontrol: Sunucunuzda hizmet verdiğiniz bir servisin dışarıyla iletişim kurup kuramayacağını da verdiğiniz servisin port numarasını test ederek öğrenebiliriz, bunu da local host ile yapıyoruz. IP adresleri türlerinde öğrendiğimiz 127.0.0.1 IP adresini kullanacağız. Sunucunuzda web servisi hizmeti veriyorsanız bunu command promt üzerinde “telnet 127.0.0.1 80” şeklinde bir komut çalıştırırsak, kendi sunucumuzdaki 80 portun açık olup olmadığına bakabiliriz.
*netstat -an: netstat -an komutu ile sunucudan dışarıya eriştiğimizde kullanılan source portlarını da görmüş oluruz. Mesela aşağıda 95.168.168.213 IP’sinin 80 portuna yani web sitesine erişim sağlanmış. Dikkat edersek 80 portuna giderken aynı zamanda 59 binli random porttan erişim sağlanıyor.