Una porta è un’entità logica che rappresenta un endpoint di comunicazione ed è associata a un determinato processo o servizio in un sistema operativo. Negli articoli precedenti abbiamo spiegato come scoprire l’ elenco di tutte le porte aperte in Linux e come verificare se le porte remote sono raggiungibili tramite il comando Netcat .
In questa breve guida, mostreremo diversi modi per trovare il processo/servizio in ascolto su una particolare porta in Linux.
1. Utilizzo del comando netstat
Il comando netstat (statistiche di rete) viene utilizzato per visualizzare informazioni relative a connessioni di rete, tabelle di routing, statistiche dell’interfaccia e altro. È 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, usa il seguente comando per installarlo.
$ sudo apt-get install net-tools [Su Debian/Ubuntu e Mint ] $ sudo dnf install net-tools [Su CentOS/RHEL/Fedora e Rocky Linux/AlmaLinux ] $ pacman -S netstat-nat [Su Arch Linux ] $ emerge sys-apps/net-tools [Su Gentoo ] $ sudo dnf install net-tools [Su Fedora ] $ sudo zypper install net-tools [Su openSUSE ]
Una volta installato, puoi usarlo con il comando grep per trovare il processo o il servizio in ascolto su una determinata porta in Linux come segue (specificare la porta).
$ netstat -ltnp | grep -w ':80'
Nel comando precedente, i flag.
l
– dice a netstat di mostrare solo i socket in ascolto.t
– gli dice di visualizzare le connessioni tcp.n
– ordina 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. Utilizzo del 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 qui sotto.
$ sudo apt-get install lsof [Su Debian, Ubuntu e Mint ] $ sudo yum install lsof [Su RHEL/CentOS/Fedora e Rocky Linux/AlmaLinux ] $ sudo emerge -a sys-apps/lsof [Su Gentoo Linux ] $ sudo pacman -S lsof [Su Arch Linux ] $ sudo zypper install lsof [Su OpenSUSE ]
Per trovare il processo/servizio in ascolto su una determinata porta, digitare (specificare la porta).
$ lsof -i :80
3. Utilizzo del comando fuser
Il comando fuser mostra i PID dei processi che utilizzano i file o i file system specificati in Linux.
Puoi installarlo come segue:
$ sudo apt-get install psmisc [Su Debian, Ubuntu e Mint ] $ sudo yum install psmisc [Su RHEL/CentOS/Fedora e Rocky Linux/AlmaLinux ] $ sudo emerge -a sys-apps/psmisc [Su Gentoo Linux ] $ sudo pacman -S psmisc [Su Arch Linux ] $ sudo zypper install psmisc [Su OpenSUSE ]
È possibile trovare il processo/servizio in ascolto su una determinata porta eseguendo il comando di seguito (specificare la porta).
$ fuser 80/tcp
Quindi trova il nome del processo usando il numero PID con il comando ps in questo modo.
$ ps -p 2053 -o comm= $ ps -p 2381 -o comm=
