Linux-da istifadə olunan portları siyahılaşdırma
Linux sistemində istifadə olunan portlar əsasən şəbəkə tətbiqləri üçün nəzərdə tutulub və müəyyən xidmətləri və ya tətbiqləri müəyyənləşdirmək üçün istifadə edilir. Bu portlar Transmission Control Protocol (TCP) və ya User Datagram Protocol (UDP) üzərindən işləyir. Aşağıda Linux sistemində portların istifadəsi və ətraflı məlumat verilmişdir
Linux və ya Unix-ə bənzər əməliyyat sistemlərində portun istifadə edildiyini necə deyə bilərəm? Serverin şəbəkə kartında (kartlarında) hansı portların istifadə olunduğunu yoxlamaq vacibdir. Müdaxilələri aşkar etmək üçün açıq portlara diqqət yetirməlisiniz. Müdaxilədən başqa, problemlərin aradan qaldırılması üçün siz portun serverlərinizdə başqa bir proqram tərəfindən istifadə olunub-olunmadığını yoxlamalı ola bilərsiniz. Məsələn, eyni sistemdə Apache və Nginx serverini quraşdıra bilərsiniz. Buna görə də Apache və ya Nginx-in 80/443 TCP portundan istifadə etdiyini bilmək lazımdır. İstifadə olunan portları yoxlamaq və portdan istifadə edərək proqrama baxmaq üçün lsof və netstat ən çox istifadə olunan toolardadır.
lsof komandası
lsof -i -P -n lsof -i -P -n | grep LISTEN # Sadəcə "Listen" portları listini çıxarır.
Yuxarıdakı komandanın nümunəsi aşağıdakı kimi olacaqdir
❯ 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)
Çıxan nəticəni bir sətrini nəzərdən keçirək.
Proqramın Adı İstifadəçi İstifadə olunan Port mariadbd 23070 mysql 24u IPv6 1217922 0t0 TCP 127.0.0.1:3306 (LISTEN)
Netstat və ya SS komandasına baxaq
netstat -tulpn | grep LISTEN
Netstat komandası yeni Linux kernelində dəstəklənmədiyi üçün ss komandasından istifadə etməlisiniz.
ss -tulw ss -tulwn ss -tulwn | grep LISTEN # Sadece "Listen" portları siyahılayar.
Nümunə üçün
❯ 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))
İstifadə olunan parametrləri nəzərdən keçirək.
Port Protokol Xidmət Təsvir 20 TCP FTP (Data Transfer) Fayl köçürmə xidməti üçün istifadə edilir. 21 TCP FTP (Control) FTP idarəetmə portu. 22 TCP SSH Uzaqdan qoşulma və fayl ötürməsi üçün təhlükəsiz kanal. 23 TCP Telnet Təhlükəsiz olmayan uzaqdan qoşulma xidməti. 25 TCP SMTP E-poçt göndərmə xidməti (Simple Mail Transfer Protocol). 53 TCP/UDP DNS Domen adlarının IP ünvanlarına çevrilməsi. 67 UDP DHCP Server Şəbəkə cihazlarına IP təyin edir. 68 UDP DHCP Client DHCP müştəri sorğuları üçün istifadə edilir. 80 TCP HTTP Veb səhifələrin göndərilməsi (və ya alınması). 110 TCP POP3 E-poçt müştərilərinin e-poçt yükləməsi. 143 TCP IMAP E-poçt müştəriləri üçün onlayn poçt qutusu xidməti. 443 TCP HTTPS Şifrələnmiş HTTP trafiki üçün. 3306 TCP MySQL MySQL verilənlər bazası xidməti. 5432 TCP PostgreSQL PostgreSQL verilənlər bazası xidməti. 6379 TCP Redis Redis keşi xidməti. 8080 TCP HTTP Proxy Alternativ HTTP portu.