Una porta è un'entità logica che rappresenta un punto finale di comunicazione ed è associata a un determinato processo o servizio in un sistema operativo. In articoli precedenti, abbiamo spiegato come scoprire 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. Utilizzo del comando netstat
Il comando netstat (statistiche di rete) viene utilizzato per visualizzare informazioni relative a connessioni di rete, tabelle di routing, statistiche di interfaccia e altro. È disponibile su tutti i sistemi operativi simili a Unix, incluso Linux e anche su Windows OS.
Se non lo hai installato per impostazione predefinita, usa 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 porta particolare 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
– gli indica di mostrare gli 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 netstat comando è deprecato e sostituito dal moderno comando ss in Linux.
2. Usando lsof Command
Il comando lsof (Elenca file aperti) 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 [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, digita (specifica la porta).
$ lsof -i :80
3. Utilizzo del comando fusore
Il comando fuser mostra i PID dei processi che utilizzano i file oi 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 così.
$ ps -p 2053 -o comm= $ ps -p 2381 -o comm=
Puoi anche consultare queste utili guide sui processi in Linux.
- Tutto quello che devi sapere sui processi in Linux [Guida completa]
- Limitare l'utilizzo della CPU di un processo in Linux con lo strumento CPULimit
- Come trovare e terminare i processi in esecuzione in Linux
- Trova i migliori processi in esecuzione in base al massimo utilizzo di memoria e CPU in Linux
È tutto! Conoscete altri modi per trovare il processo/servizio in ascolto su una particolare porta in Linux, fatecelo sapere tramite il modulo di commento qui sotto.