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:
- 0-1023 – Tanınmış Bağlantı Noktaları, Sistem Bağlantı Noktaları olarak da anılır.
- 1024-49151 – Kayıtlı Bağlantı Noktaları, aynı zamanda Kullanıcı Bağlantı Noktaları olarak da bilinir.
- 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,
-l
– yalnızca dinleme yuvalarını yazdırır-n
– bağlantı noktası numarasını gösterir-t
– TCP bağlantı noktalarının listelenmesini sağlar-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.