Linux’ta Açık Portlar Nasıl Kontrol Edilir ?

0
Share

Linux’ta ağ sorunlarını giderirken veya Linux makinenizin güvenliğini artırmanın yollarını aradığınızda, hangi bağlantı noktalarının açık olup olmadığını bilmeniz gerekir. Bu makalede, Linux’ta açık portları listelemenin veya görüntülemenin farklı yollarına bakacağız.

Port nedir?

Port, bir Linux işletim sisteminde belirli bir uygulamayı veya işlemi tanımlamaya yardımcı olan 16 bitlik bir sayıdır (0 – 65535). Port, bir Linux sisteminde bir uygulamayı diğerinden ayırır.

Aşağıda farklı bağlantı noktası kategorileri verilmiştir:

0 – 1023 – Sistem portları olarak bilinir

1024 – 49151 –Kayıtlı portlar olarak bilinir

49152 – 65535 – Özel dinamik portlar olarak bilinir

Aşağıdaki komutu kullanarak, terminalinizde bir uygulama ve bağlantı noktası listesi görüntülenebilir

 

TCP: İletim Kontrol Protokolü anlamına gelir. İnternette en çok kullanılan protokoldür. TCP sadece tek yönlü bir iletişim değildir, bunun yerine paketlerinizi aldığını onaylamak için paketleri geri gönderir.

UDP: Kullanıcı Datagram Protokolü olarak da bilinir. TCP’ye alternatif bir iletişim protokolüdür. UDP protokolü TCP’ye benzer şekilde çalışır.Ancak, tüm hata denetimi öğelerini yok sayar. UDP, hız istendiğinde ve hata düzeltmeye gerek olmadığında gereklidir.

SOKETLER: Soket, aynı veya farklı makineler üzerinde iki farklı prosesin haberleşmesini sağlar.

Linux’ta açık bir bağlantı noktasını listelemenin farklı yollarına bakalım.

1. Netstat

Bu yöntemde Linux’ta açık portları kontrol etmek için netstat -atu komutunu kullanacağız.

a : netstat’a tüm soketleri göstermesini söyler

t : netstat’a TCP bağlantı noktalarını listelemesini söyler

u : netstat’a UDP bağlantı noktalarını listelemesini söyler

 

Netstat komutunun başka bir varyasyonu:

Komutta kullanılan iki yeni bayrak görülmektedir.

l : netstat’a yalnızca dinleme soketlerini yazdırmasını söyler

n : netstat’a port numarasını göstermesini söyler

Bağlantı noktası kullanan işlemin PID’sini görüntülemek için “-p” bayrağını kullanabilirsiniz.

ss komutunu kullanarak açık portları listeleme

ss komutu, soketi öğrenmek için bir yardımcı programdır. Kullanımı netstat’a benzer.

Açık portları listelemek için aşağıdaki ss komutunu çalıştırabilirsiniz

Parametreler netstat’a benzer. Tanımladıkları işlevler de oldukça benzerdir.

l : ss’ye dinleme soketlerini görüntülemesini söyler

n : ss’ye hizmet adlarını çözmeye çalışmamasını söyler

t : ss’ye TCP soketlerini görüntülemesini söyler

u : ss’ye UDP soketlerini görüntülemesini söyler

 

lsof kullanarak portları listeleme

lsof komutu, açık dosyaları ve portları listelemek için kullanılabilir.

Aşağıdaki lsof komutunu çalıştırın:

Belirli bir protokolün (TCP, UDP, vb.) açık portlarını almak ve ardından bunu “-i” işareti ile gösterebiliriz.

nmap kullanarak portları listeleyin

Nmap aracı, ağ araştırması ve güvenlik/bağlantı noktası taraması için güçlü bir araçtır. Sistemdeki tüm açık portları raporlayabilir.

Açık TCP bağlantı noktalarını listelemek için aşağıdaki nmap komutunu çalıştırın. Burada, IP adresi ana bilgisayara aittir:

sudo nmap -sT -p- localhost

Burada, komut parametresinin iki kısmı vardır.

-sT : Bu bölüm nmap’e TCP bağlantı noktalarını taramasını söyler.

-p- : Bu, nmap’e tüm 65535 bağlantı noktalarını taramasını söyler. Kullanılmazsa, nmap varsayılan olarak yalnızca 1000 bağlantı noktasını tarayacaktır.

Açık UDP bağlantı noktalarını listelemeniz gerekiyorsa, aşağıdaki nmap komutunu çalıştırabilirsiniz

sudo nmap -sU -p- localhost

Hem açık TCP hem de UDP bağlantı noktalarını listelemek için aşağıdaki komutu kullanabilirsiniz.

sudo nmap -n -PN -sT -sU -p- localhost

netcat kullanarak açık portları listeleme

netcat komutu, TCP ve UDP protokolleri ile ağ bağlantıları üzerinden veri okumak ve yazmak için bir komut satırı yardımcı programıdır. Bu araç ayrıca açık portları listelemek için de kullanılabilir. Belirli bir bağlantı noktasında veya bir dizi bağlantı noktasında testler yapabilir.

Aşağıdaki netcat komutu, 1’den 1000’e kadar olan portları tarayacaktır. Netcat komutu, taramayı varsayılan olarak TCP protokolünde gerçekleştirecektir

nc -z -v localhost 11000

Ayrıca, olası tüm portlar da listelenebilir.

$ nc -z -v yerel ana bilgisayar 1 – 65535

Parametreleri hızlı bir şekilde inceleyelim.

z : netcat’e herhangi bir veri göndermeden yalnızca açık bağlantı noktalarını taramasını söyler

v : netcat’e ayrıntılı modda çalışmasını söyler

Bu listeden yalnızca açık bağlantı noktalarını almak için çıktıyı “başarılı” terimi için grep ile filtreleyin.

UDP protokolünde tarama yapmak istiyorsanız, “-u” bayrağını ekleyin.

$ nc -z -v -u localhost 0 – 65535 >& grep başarılı

 

Linux ta açık portları tespit etmenin bir çok yolu vardır. Hangisini kullanmak isterseniz o komut üzerinde detaylı araştırma yapmanızı öneririm. Netcat veya nmap gibi araçları kullanacaksanız bir çok güzel parametresi bulunmaktadır.

 

 

 

(Visited 80 times, 1 visits today)