Linux'taki Tüm Açık Bağlantı Noktalarının Listesi Nasıl Bulunur?


Bu yazımızda bilgisayar ağlarındaki portlardan kısaca bahsedeceğiz ve Linux'ta tüm açık portları nasıl listeleyebileceğinize geçeceğiz.

Bilgisayar ağlarında ve daha kesin olarak yazılım terimlerinde, bir bağlantı noktası, Linux işletim sistemindeki belirli bir uygulamayı veya işlemi tanımlamak için iletişimin uç noktası olarak görev yapan mantıksal bir varlıktır. Uç sistemlerdeki bir uygulamayı diğerinden ayıran 16 bitlik bir sayıdır (0 ila 65535).

En popüler iki İnternet aktarım protokolü, İletim Kontrol Protokolü (TCP) ve Kullanıcı Datagram Protokolü (UDP) ve daha az bilinen diğer protokoller, iletişim oturumları için bağlantı noktası numaralarını kullanır (kaynak ve hedef IP adresleriyle birlikte kaynak ve hedef bağlantı noktası numaraları).

Ayrıca bir IP adresi, bağlantı noktası ve TCP/UDP gibi bir protokolün birleşimi de soket olarak bilinir ve her hizmetin benzersiz bir soketi olması gerekir.

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

  1. 0-1023 – Tanınmış Bağlantı Noktaları, Sistem Bağlantı Noktaları olarak da anılır.
  2. 1024-49151 – Kayıtlı Bağlantı Noktaları, aynı zamanda Kullanıcı Bağlantı Noktaları olarak da bilinir.
  3. 49152-65535 – Özel Bağlantı Noktaları olarak da adlandırılan Dinamik Bağlantı Noktaları.

Cat komutunu kullanarak Linux'ta /etc/services dosyasında farklı uygulamaların ve port/protokol kombinasyonunun listesini görüntüleyebilirsiniz:

cat /etc/services 
OR
cat /etc/services | less
/etc/services:
$Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $
#
Network services, Internet style
IANA services version: last updated 2009-11-10
#
Note that it is presently the policy of IANA to assign a single well-known
port number for both TCP and UDP; hence, most entries here have two entries
even if the protocol doesn't support UDP operations.
Updated from RFC 1700, ``Assigned Numbers'' (October 1994).  Not all ports
are included, only the more common ones.
#
The latest IANA port assignments can be gotten from
      http://www.iana.org/assignments/port-numbers
The Well Known Ports are those from 0 through 1023.
The Registered Ports are those from 1024 through 49151
The Dynamic and/or Private Ports are those from 49152 through 65535
#
Each line describes one service, and is of the form:
#
service-name  port/protocol  [aliases ...]   [# comment]

tcpmux          1/tcp                           # TCP port service multiplexer
tcpmux          1/udp                           # TCP port service multiplexer
rje             5/tcp                           # Remote Job Entry
rje             5/udp                           # Remote Job Entry
echo            7/tcp
echo            7/udp
discard         9/tcp           sink null
discard         9/udp           sink null
systat          11/tcp          users
systat          11/udp          users
daytime         13/tcp
daytime         13/udp
qotd            17/tcp          quote
qotd            17/udp          quote
msp             18/tcp                          # message send protocol
msp             18/udp                          # message send protocol
chargen         19/tcp          ttytst source
chargen         19/udp          ttytst source
ftp-data        20/tcp
ftp-data        20/udp
21 is registered to ftp, but also used by fsp
ftp             21/tcp
ftp             21/udp          fsp fspd
ssh             22/tcp                          # The Secure Shell (SSH) Protocol
ssh             22/udp                          # The Secure Shell (SSH) Protocol
telnet          23/tcp
telnet          23/udp

Linux'ta TCP ve UDP dahil olmak üzere tüm açık bağlantı noktalarını veya şu anda çalışan bağlantı noktalarını listelemek için, ağ bağlantılarını ve istatistikleri izlemek için güçlü bir araç olan netstat'ı kullanacağız.

$ netstat -lntu

Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 :::80                       :::*                        LISTEN      
tcp        0      0 :::25                       :::*                        LISTEN      
udp        0      0 0.0.0.0:68                  0.0.0.0:*                               

Nerede,

  1. -l – yalnızca dinleme yuvalarını yazdırır
  2. -n – bağlantı noktası numarasını gösterir
  3. -t – TCP bağlantı noktalarının listelenmesini sağlar
  4. -u – udp bağlantı noktalarının listelenmesini sağlar

Linux sistemindeki yuvaları incelemek için iyi bilinen kullanışlı bir yardımcı program olan ss komutunu da kullanabilirsiniz. Tüm açık TCP ve UCP bağlantı noktalarınızı listelemek için aşağıdaki komutu çalıştırın:

$ ss -lntu

Netid State      Recv-Q Send-Q               Local Address:Port       Peer Address:Port 
udp   UNCONN     0      0                    *:68                     *:*     
tcp   LISTEN     0      128                  :::22                    :::*     
tcp   LISTEN     0      128                  *:22                     *:*     
tcp   LISTEN     0      50                   *:3306                   *:*     
tcp   LISTEN     0      128                  :::80                    ::*     
tcp   LISTEN     0      100                  :::25                    :::*     
tcp   LISTEN     0      100                  *:25  

Daha fazla kullanım bilgisi için yukarıdaki komutların man sayfalarını okumayı unutmayın.

Özetle, bilgisayar ağlarında port kavramını anlamak sistem ve ağ yöneticileri için çok önemlidir. Basit, kesin ve iyi açıklanmış örnekler içeren bu netstat kılavuzunu da inceleyebilirsiniz.

Son olarak, Linux'ta açık portları listelemek için diğer yöntemleri paylaşarak veya aşağıdaki yanıt formu aracılığıyla soru sorarak bizimle iletişime geçin.