swetrix
used_port_cover

Linux da kullanılan portları listeleme

Linux veya Unix benzeri işletim sistemleri altında bir portun kullanımda olup olmadığını nasıl anlayabilirim? Serverın network kartında/kartlarında hangi bağlantı noktalarının kullanıldığını doğrulamanız önemlidir. İzinsiz girişleri tespit etmek için açık portlara dikkat etmeniz gerekir. İzinsiz giriş dışında, sorun giderme amacıyla, bir portun sunucularınızda farklı bir uygulama tarafından zaten kullanımda olup olmadığını kontrol etmeniz gerekebilir. Örneğin Apache ve Nginx sunucusunu aynı sistem üzerine kurabilirsiniz. Bu nedenle Apache veya Nginx’in 80/443 numaralı TCP bağlantı noktasını kullanıp kullanmadığını bilmek gerekir. Kullanımdaki bağlantı noktalarını kontrol etmek ve bağlantı noktasını kullanan uygulamayı görüntülemek için lsof ve netstat araçları en çok kullanılan araçlardandır.

1. lsof komutu

lsof -i -P -n 
lsof -i -P -n | grep LISTEN # Sadece "Listen" portları listeler.

Örnek çıktı

❯ lsof -i -P -n | grep LISTEN
systemd-r   549 systemd-resolve   13u  IPv4   20972      0t0  TCP 127.0.0.53:53 (LISTEN)
nginx       739            root   11u  IPv4   24520      0t0  TCP *:80 (LISTEN)
nginx       739            root   12u  IPv6   24521      0t0  TCP *:80 (LISTEN)
nginx       739            root   13u  IPv4   24522      0t0  TCP *:22222 (LISTEN)
nginx       739            root   14u  IPv4   24523      0t0  TCP *:443 (LISTEN)
nginx       739            root   15u  IPv6   24524      0t0  TCP *:443 (LISTEN)
nginx       741        www-data   11u  IPv4   24520      0t0  TCP *:80 (LISTEN)
nginx       741        www-data   12u  IPv6   24521      0t0  TCP *:80 (LISTEN)
nginx       741        www-data   13u  IPv4   24522      0t0  TCP *:22222 (LISTEN)
nginx       741        www-data   14u  IPv4   24523      0t0  TCP *:443 (LISTEN)
nginx       741        www-data   15u  IPv6   24524      0t0  TCP *:443 (LISTEN)
nginx       742        www-data   11u  IPv4   24520      0t0  TCP *:80 (LISTEN)
nginx       742        www-data   12u  IPv6   24521      0t0  TCP *:80 (LISTEN)
nginx       742        www-data   13u  IPv4   24522      0t0  TCP *:22222 (LISTEN)
nginx       742        www-data   14u  IPv4   24523      0t0  TCP *:443 (LISTEN)
nginx       742        www-data   15u  IPv6   24524      0t0  TCP *:443 (LISTEN)
sshd       1065            root    3u  IPv4 1215778      0t0  TCP *:22 (LISTEN)
sshd       1065            root    4u  IPv6 1215780      0t0  TCP *:22 (LISTEN)
netdata    1122         netdata    5u  IPv4   28641      0t0  TCP *:19999 (LISTEN)
netdata    1122         netdata    6u  IPv6   28642      0t0  TCP *:19999 (LISTEN)
netdata    1122         netdata   89u  IPv4   28964      0t0  TCP 127.0.0.1:8125 (LISTEN)
mariadbd  23070           mysql   24u  IPv6 1217922      0t0  TCP 127.0.0.1:3306 (LISTEN)
sshd      48205            root    9u  IPv6 4611170      0t0  TCP [::1]:6010 (LISTEN)
sshd      48205            root   10u  IPv4 4611171      0t0  TCP 127.0.0.1:6010 (LISTEN)
php-fpm7. 59769            root    7u  IPv4  808985      0t0  TCP 127.0.0.1:9174 (LISTEN)

Çıktıdaki, bir satırı inceleyelim.

Uygulamanın Adı           Kullanıcı                           Kullanılan Port
mariadbd  23070           mysql   24u  IPv6 1217922      0t0  TCP 127.0.0.1:3306 (LISTEN)

2. Netstat yada SS komutu

netstat -tulpn | grep LISTEN

netstat komutu yeni linux kernelin de desteklenmediği için ss komutunu kullanmanız gerekir.

ss -tulw
ss -tulwn
ss -tulwn | grep LISTEN # Sadece "Listen" portları listeler.

Örnek Çıktı

❯ ss -tulp | grep LISTEN
tcp   LISTEN 0      511                         0.0.0.0:22222       0.0.0.0:*    users:(("nginx",pid=742,fd=13),("nginx",pid=741,fd=13),("nginx",pid=739,fd=13))
tcp   LISTEN 0      511                         0.0.0.0:http        0.0.0.0:*    users:(("nginx",pid=742,fd=11),("nginx",pid=741,fd=11),("nginx",pid=739,fd=11))
tcp   LISTEN 0      4096                  127.0.0.53%lo:domain      0.0.0.0:*    users:(("systemd-resolve",pid=549,fd=13))
tcp   LISTEN 0      32768                     127.0.0.1:9174        0.0.0.0:*    users:(("php-fpm7.4",pid=59769,fd=7))
tcp   LISTEN 0      128                       127.0.0.1:6010        0.0.0.0:*    users:(("sshd",pid=48205,fd=10))
tcp   LISTEN 0      511                         0.0.0.0:https       0.0.0.0:*    users:(("nginx",pid=742,fd=14),("nginx",pid=741,fd=14),("nginx",pid=739,fd=14))
tcp   LISTEN 0      4096                      127.0.0.1:8125        0.0.0.0:*    users:(("netdata",pid=1122,fd=89))
tcp   LISTEN 0      128                         0.0.0.0:22          0.0.0.0:*    users:(("sshd",pid=1065,fd=3))
tcp   LISTEN 0      4096                        0.0.0.0:19999       0.0.0.0:*    users:(("netdata",pid=1122,fd=5))
tcp   LISTEN 0      70               [::ffff:127.0.0.1]:mysql             *:*    users:(("mariadbd",pid=23070,fd=24))
tcp   LISTEN 0      511                            [::]:http           [::]:*    users:(("nginx",pid=742,fd=12),("nginx",pid=741,fd=12),("nginx",pid=739,fd=12))
tcp   LISTEN 0      128                           [::1]:6010           [::]:*    users:(("sshd",pid=48205,fd=9))
tcp   LISTEN 0      511                            [::]:https          [::]:*    users:(("nginx",pid=742,fd=15),("nginx",pid=741,fd=15),("nginx",pid=739,fd=15))
tcp   LISTEN 0      128                            [::]:22             [::]:*    users:(("sshd",pid=1065,fd=4))
tcp   LISTEN 0      4096                           [::]:19999          [::]:*    users:(("netdata",pid=1122,fd=6))

Kullanılan parametreleri inceleyelim.

-t : Sadece TCP kullanan portları göster.
-u : Sadece UDP kullanan portları göster.
-l : Sadece Listen bağlantıları göster.
-p : Portu kullanan uygulamanın adını ve PID numarasını göster.
Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Önceki Yazı
userdel-cover

Userdel Komutu ile Linux’ta Kullanıcıları Silmek

Sonraki Yazı
patroni_postgresql_haproxy

Patroni ile Postgresql HA Cluster Kurulumu – Ubuntu 20.04

Benzer Yazılar