Ricerca nel sito web

3 modi per trovare quale processo Linux è in ascolto su una porta


Una porta è un'entità logica che rappresenta un punto finale della comunicazione ed è associata a un determinato processo o servizio in un sistema operativo. Negli articoli precedenti abbiamo spiegato come trovare l'elenco di tutte le porte aperte in Linux e come verificare se le porte remote sono raggiungibili utilizzando il comando Netcat.

In questa breve guida mostreremo diversi modi per trovare il processo/servizio in ascolto su una particolare porta in Linux.

1. Utilizzando il comando netstat

Il comando netstat (statistiche di rete) viene utilizzato per visualizzare informazioni relative alle connessioni di rete, alle tabelle di routing, alle statistiche dell'interfaccia e altro ancora. È disponibile su tutti i sistemi operativi simili a Unix, incluso Linux e anche sul sistema operativo Windows.

Se non lo hai installato per impostazione predefinita, utilizza il seguente comando per installarlo.

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]

Una volta installato, puoi usarlo con il comando grep per trovare il processo o il servizio in ascolto su una particolare porta in Linux come segue (specificare la porta).

netstat -ltnp | grep -w ':80' 

Nel comando precedente, flags.

  • l – dice a netstat di mostrare solo i socket in ascolto.
  • t – dice di visualizzare le connessioni TCP.
  • n – indica di mostrare indirizzi numerici.
  • p – abilita la visualizzazione dell'ID del processo e del nome del processo.
  • grep -w – mostra la corrispondenza della stringa esatta (:80).

Nota: il comando netstat è deprecato e sostituito dal moderno comando ss in Linux.

2. Utilizzando il comando lsof

Il comando lsof (List Open Files) viene utilizzato per elencare tutti i file aperti su un sistema Linux.

Per installarlo sul tuo sistema, digita il comando seguente.

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]    

Per trovare il processo/servizio in ascolto su una porta particolare, digitare (specificare la porta).

lsof -i :80

3. Utilizzo del comando fusore

Il comando fuser mostra i PID dei processi che utilizzano i file o file system specificati in Linux.

Puoi installarlo come segue:

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]    

Puoi trovare il processo/servizio in ascolto su una porta particolare eseguendo il comando seguente (specificare la porta).

fuser 80/tcp

Quindi trova il nome del processo utilizzando il numero PID con il comando ps in questo modo.

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

Puoi anche consultare queste utili guide sui processi in Linux.

È tutto! Conosci altri modi per trovare il processo/servizio in ascolto su una particolare porta in Linux, faccelo sapere tramite il modulo di commento qui sotto.