Wyszukiwanie w witrynie

3 sposoby sprawdzenia, który proces systemu Linux nasłuchuje na porcie


Port to jednostka logiczna reprezentująca punkt końcowy komunikacji i powiązana z danym procesem lub usługą w systemie operacyjnym. W poprzednich artykułach wyjaśniliśmy, jak znaleźć listę wszystkich otwartych portów w systemie Linux i jak sprawdzić, czy porty zdalne są osiągalne za pomocą polecenia Netcat.

W tym krótkim przewodniku pokażemy różne sposoby znajdowania procesu/usługi nasłuchującej na określonym porcie w systemie Linux.

1. Korzystanie z polecenia netstat

Polecenie netstat (statystyki sieciowe) służy do wyświetlania informacji dotyczących połączeń sieciowych, tablic routingu, statystyk interfejsu i nie tylko. Jest dostępny na wszystkich systemach operacyjnych typu Unix, w tym na Linuksie, a także na systemie operacyjnym Windows.

Jeśli nie masz go domyślnie zainstalowanego, użyj następującego polecenia, aby go zainstalować.

sudo apt-get install net-tools    [On Debian/Ubuntu & Mint] 
sudo dnf install net-tools        [On CentOS/RHEL/Fedora and Rocky Linux/AlmaLinux]
pacman -S netstat-nat             [On Arch Linux]
emerge sys-apps/net-tools         [On Gentoo]
sudo dnf install net-tools        [On Fedora]
sudo zypper install net-tools     [On openSUSE]

Po zainstalowaniu możesz użyć go z poleceniem grep, aby znaleźć proces lub usługę nasłuchującą na określonym porcie w systemie Linux w następujący sposób (określ port).

netstat -ltnp | grep -w ':80' 

W powyższym poleceniu flagi.

  • l – informuje netstat, aby pokazywał tylko gniazda nasłuchujące.
  • t – nakazuje wyświetlanie połączeń TCP.
  • n – nakazuje wyświetlanie adresów numerycznych.
  • p – umożliwia pokazanie identyfikatora procesu i nazwy procesu.
  • grep -w – pokazuje dopasowanie dokładnego ciągu (:80).

Uwaga: polecenie netstat jest przestarzałe i zastąpione nowoczesnym poleceniem ss w systemie Linux.

2. Korzystanie z polecenia lsof

Polecenie lsof (List Open Files) służy do wyświetlania listy wszystkich otwartych plików w systemie Linux.

Aby zainstalować go w swoim systemie, wpisz poniższe polecenie.

sudo apt-get install lsof     [On Debian, Ubuntu and Mint]
sudo yum install lsof         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a sys-apps/lsof  [On Gentoo Linux]
sudo pacman -S lsof           [On Arch Linux]
sudo zypper install lsof      [On OpenSUSE]    

Aby znaleźć proces/usługę nasłuchującą na konkretnym porcie, wpisz (określ port).

lsof -i :80

3. Korzystanie z polecenia utrwalacza

Polecenie utrwalacza pokazuje identyfikatory PID procesów korzystających z określonych plików lub systemów plików w systemie Linux.

Możesz go zainstalować w następujący sposób:

sudo apt-get install psmisc     [On Debian, Ubuntu and Mint]
sudo yum install psmisc         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a sys-apps/psmisc  [On Gentoo Linux]
sudo pacman -S psmisc           [On Arch Linux]
sudo zypper install psmisc      [On OpenSUSE]    

Możesz znaleźć proces/usługę nasłuchującą na konkretnym porcie, uruchamiając poniższe polecenie (określ port).

fuser 80/tcp

Następnie znajdź nazwę procesu za pomocą numeru PID za pomocą polecenie ps w ten sposób.

ps -p 2053 -o comm=
ps -p 2381 -o comm=

Możesz także zapoznać się z tymi przydatnymi przewodnikami na temat procesów w systemie Linux.

To wszystko! Czy znasz inne sposoby znalezienia procesu/usługi nasłuchującej na określonym porcie w systemie Linux, daj nam znać za pomocą poniższego formularza komentarza.