|
|||||||
![]() |
|
|
Konu Araçları |
| açmak, açılırport, ayarlarını, nedirport, port, yaparımport |
Port Nedir?Port Nasıl Açılır?Port Ayarlarını Nasıl Yaparım-Port Açmak |
|
|
#1 |
|
Prof. Dr. Sinsi
|
Port Nedir?Port Nasıl Açılır?Port Ayarlarını Nasıl Yaparım-Port AçmakPort Nedir?Port Nasıl Açılır?Port Ayarlarını Nasıl Yaparım-Port Açmak Port Nedir?Port Nasıl Açılır?Port Ayarlarını Nasıl Yaparım-Port Açmak Bilgisayar ve telekomünikasyon dünyasında, "port" denildiği zaman akla ilk gelen genellikle fiziksel bağlantıda kullanılan ara birimlerdir Bu tür "port" lar üzerinden bağlanmış herhangi bir makinaya "data" gönderilebilir ve bu makinanın işleyişi kontrol edilebilir Örneğin, tipik bir bilgisayarda bir veyabirden fazla "seri port" bir tane de "paralel port" bulunur Adından da anlaşılacağı gibi "seri port" dan bilgiler seri (her defasında bir bit) olarak gönderilir ve bu tür "port" lara genellikle tarayıcı (scanner) gibi cihazlar takılır Her defasında birden çok bit göndermek içinse "paralel port" kullanı-lır Bu tip "port" lara da yazıcı (printer) veya "paralel port" bağlantısı olanherhangi bir cihaz takılabilir Bizi ilgilendiren ve çoğunlukla İnternet dünyasında kullanılan "port" kavramı ise yukardaki tanımdan biraz daha soyut bir kavramdir Bu anlamda "port"(ki dokümainin sonuna kadar "port" bu anlamda kullanılacaktir) herhangi bir fiziksel bağlantı yeri değil, mantıksal bir bağlanma şeklidir Şöyle ki: 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 Sunucu programları çalışan bilgisayarlarabirer adres verilir (bknz IP adresleri) ve bu adresler kullanılarak istenilenbilgisayarlara ulaşılır Peki, ulaşılan bir bilgisayar üzerindeki hangi sunucu programdan hizmet alınmak istendiği nasıl belirtilir? Bunun için bilgisayarlar üzerinde birtakım soyut bağlantı noktaları tanımlanır ve herbirine, adresleyebilmek için positif bir sayı verilir (port numarası) Bazı sunucu programları, daha önce herkes tarafından bilinen "port" lardan hizmet verirken (örn: telnet->23 port) 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ğin- de, programın çalıştığı bilgisayarın adresinin yanında istekleri kabul ettiği "port" numarasını da vermek gerekir Örnek verecek olursak:144 122 156 104 "IP" adresine sahip makinada (orca) çalışan "telnet" sunucu programına (23 "port" dan hizmet veren) bağlanmak için aşağıdaki satır yazılır telnet 144 122 156 104 23 Daha önce de belirttiğimiz gibi bazı sunucu programların belirli "port" lardan hizmet verdiği bilindiği için, bu sunuculara bağlanmak istediğimizde, "port" numarasını vermeye gerek kalmaz Bu durumda yukardaki satır telnet 144 122 156 104 şeklinde de yazılabilir INETD (Süper Sunucu): Bilgisayar ilk açıldığında üzerinde çalışan sunucu programlar otomatik olarak açılış dosyalarından çalıştırılabildiği gibi genel kullanım biraz daha farklıdır Değişik "port" ları dinleyen birçok sunucu programın, hiçbir istemciye cevap vermediği durumda bile, birçok sistem kaynağını gereksiz yere kullandığı düşünülerek, "inetd" adında istemcilerle diğer sunucu programlar arasında koordinasyonu sağlayan bir sunucu program düşünülmüştür Açılış dosyalarından da başlatılabilen bu sunucu tek başına bütün "port" ları dinler ve herhangi birisine istek geldiği zaman aşağıdaki prosedürü takip eder: 1- /etc/services dosyasından ilgili "port" a hizmet veren servis ismini bulur 2- konfigürasyon dosyası olan "/etc/inetd conf" dan bu servis için gelen isteğe nasıl cevap vereceğini belirler ve gerekli programı çalıştırır 3- bir istek geldiği zaman tekrar 1'e döner Bir örnekle anlatmadan önce tipik bir "/etc/services" ve "/etc/inetd conf"dosyasının içeriğine bakalım <"/etc/services"> tcpmux 1/tcp echo 7/tcp echo 7/udp discard 9/tcp sink null discard 9/udp sink null systat 11/tcp users daytime 13/tcp daytime 13/udp netstat 15/tcp chargen 19/tcp ttytst source chargen 19/udp ttytst source ftp-data 20/tcp ftp 21/tcp telnet 23/tcp ktelnet 1023/tcp #Added by AS 5/5/98 smtp 25/tcp mail time 37/tcp timserver time 37/udp timserver name 42/udp nameserver whois 43/tcp nicname # usually to sri-nic ![]() ![]() ![]() <"/etc/inetd conf"># Ftp and telnet are standard Internet services ![]() # ftp stream tcp nowait root /usr/sbin/in ftpd in ftpdtelnet stream tcp nowait root /usr/sbin/in telnetd in telnetd# # Shell, login, exec, comsat and talk are BSD protocols ![]() # shell stream tcp nowait root /usr/sbin/tcpd in rshdlogin stream tcp nowait root /usr/sbin/tcpd in rlogindexec stream tcp nowait root /usr/sbin/tcpd in rexecdcomsat dgram udp wait root /usr/sbin/in comsat in comsattalk dgram udp wait root /usr/sbin/in talkd in talkd![]() ![]() ![]() 23 "port" a bir istek geldiğinde, "inetd" "/etc/services" dosyasına bakarak bu "port" numarasına denk gelen servis ismini ("telnet") bulur Daha sonra "/etc/inetd conf" dosyasına bakarak bu servise denk gelen sunucu programı("/usr/sbin/in telnetd") çalıştırır BUFFERED PORTS: Herhangi bir "port" u dinleyen program bir iş yaparken, başka bir deyişle dinlediği "port" a gelen bilgileri almaya hazır değilken, eğer bu "port" "buffered" ise gelen bilgiler kaybolmaz İşletim sistemi içerisine yerleştiri-len programlar sayesinde kapasitesi sınırlı kuyruklara yerleştirilerek ilgili sunucu programın alması için bekletilirler Internet üzerinde herhangi bir IP adresi üzerindeki "port" dan hizmet veren sunucu programa bağlantı yapmak isteyen istemci program, sunucu programın çevaplarını (reply) yollamak için bağlantı kuracağı kendi üzerindeki "port" numarasını da sunucu programa gönderir "Port" numarası genellikle 2 "byte" olarak tutulur Bu nedenle 65536 adet "port" numaralamak mümkündür Genellikle 1024'den küçük olan "port" numaraları özel hakları olan kullanıcılar (root) tarafından kullanılırken, büyük olanlar genel kullanıma açıktır
|
|
|
|