GNU/Linux >> Linux Esercitazione >  >> Debian

Debian:scopri su quale numero di porta è in ascolto un processo

Come tutti sappiamo, una porta viene utilizzata solo da un processo o servizio alla volta. La porta identifica un particolare servizio o un processo in esecuzione sul sistema. A volte, durante la risoluzione dei problemi, è necessario sapere quale numero di porta sta ascoltando un determinato processo. Tutti i processi in esecuzione su un sistema sono associati a un numero di identificazione del processo (PID) e un numero di porta. Per trovare il numero di porta su cui è in ascolto un particolare processo, ci sono alcuni modi di cui parleremo in questo articolo.

Prima di procedere verso l'articolo, assicurati di disporre dei privilegi di root. Ti aiuterà a ottenere informazioni complete sui processi in esecuzione sul tuo sistema.

Nota che abbiamo usato Debian 10 per eseguire i comandi e le procedure menzionati in questo articolo.

Metodo 1:utilizzo del comando netstat

Netstat è un'utilità della riga di comando più comunemente utilizzata che può essere utilizzata per visualizzare informazioni sulle connessioni di rete, le statistiche dell'interfaccia e le tabelle di routing. Può anche essere utilizzato per trovare il numero di porta utilizzato da un determinato processo. Non è necessario installarlo poiché è già installato nei repository di tutte le distribuzioni Linux. Tuttavia, nel caso in cui non sia già installato sul tuo sistema, usa il seguente comando per installarlo:

$ sudo apt install net-tools

Per trovare i numeri di porta su cui sono in ascolto i processi, eseguire il seguente comando in Terminale:

$ sudo netstat -ltnp

L'output seguente mostra i numeri di porta utilizzati da determinati processi insieme ai relativi ID di processo (PID).

Se non disponi dei privilegi sudo ed esegui il comando precedente senza sudo, non verranno visualizzati il ​​nome del programma e il PID come mostrato nell'output seguente.

Ora vediamo cosa è il ltnp nel comando sopra significa:

io – mostra le prese di ascolto

t – mostra le connessioni TCP

n – mostra indirizzi IP e numeri di porta in forma numerica

p – mostra PID/nome programma

Se osserviamo l'output di $ sudo netstat -ltnp , la quarta colonna è esattamente ciò che stiamo cercando:il numero di porta su cui è in ascolto un processo.

Per ottenere le informazioni sulla porta di un singolo processo, puoi semplicemente reindirizzare l'output di netstat con il comando grep.

Ad esempio, per trovare il numero di porta rispetto a "sshd", utilizzare il seguente comando:

$ sudo netstat –ltnp | grep ‘sshd’

Allo stesso modo, se vuoi scoprire il nome del processo che è in ascolto su una porta specifica, diciamo la porta 21, verrà utilizzato il seguente comando:

$ sudo netstat -ltnp | grep -w ':21'

Metodo 2:utilizzo del comando lsof

Con il comando lsof, puoi visualizzare l'elenco di tutti i file aperti dai processi in esecuzione sul tuo sistema. Lsof può fungere da unica fonte per ottenere informazioni che altrimenti implicano un ampio insieme di strumenti di amministrazione. Simile al comando netstat, avrai bisogno dei privilegi sudo per ottenere informazioni dettagliate.

Se lsof non è già installato sul tuo sistema, usa il seguente comando in Terminale per installarlo:

$ sudo apt install lsof

Una volta installato, puoi utilizzare l'utilità lsof per trovare processi in esecuzione su porte specifiche. Se si esegue l'utilità lsof senza alcun parametro, verranno restituite molte informazioni che saranno difficili da comprendere. L'utilizzo dei parametri con lsof, tuttavia, può aiutarti a filtrare e concentrarti sull'output desiderato.

Ora per trovare il processo in ascolto su una porta specifica, diciamo la porta 22, usa il seguente comando:

$ sudo lsof -i :22

Questo comando restituirà tutti i processi in esecuzione sulla porta 22.

Metodo 3:utilizzo del comando fusore

Il fusore è un comando Linux che viene utilizzato per trovare quale ID processo sta utilizzando un file, una directory o un file system. Possiamo usare questo comando per trovare il processo in esecuzione su una porta specifica.

Avrai bisogno dell'utilità psmisc per usare il comando fusore. Se non è già installato sul tuo sistema, esegui il seguente comando per installarlo:

$ sudo apt install psmisc

Per visualizzare i processi in esecuzione su qualsiasi porta, diciamo la porta TCP 22, esegui il seguente comando in Terminale:

$ sudo fuser 22/tcp

Il comando precedente ha restituito il processo in ascolto sulla porta numero 22. Ora per visualizzare il nome del processo rispetto a qualsiasi ID processo, utilizzare la seguente sintassi del comando:

$ ps -p [processID] -o comm=

Nel nostro caso, sarebbe

$ ps -p [5859] -o comm=

Dall'output di cui sopra, possiamo aver trovato il nome del processo sshd rispetto all'ID processo 5859. Ciò implica che sshd con ID processo 5859 è in ascolto sulla porta 22.

In questo articolo, abbiamo appreso alcune utilità della riga di comando che puoi utilizzare per visualizzare su quali porte è in ascolto un particolare processo.


Debian
  1. Come trovare il tuo indirizzo IP privato in Debian 10

  2. 4 modi per scoprire un core della CPU che esegue un particolare processo in Linux

  3. Capire il numero della porta di ascolto di Rsyslog?

  4. Debian – Come scoprire come è stato installato un particolare pacchetto?

  5. Come scoprire quale processo sta usando un file in Linux?

Scopri quali processi sono in ascolto su una porta particolare in Linux

3 modi per trovare il tuo indirizzo IP locale in Debian 10

I modi migliori per sapere quale processo è in ascolto su una porta specifica

Come scoprire quale programma utilizza Internet e quanto?

Linux:scopri su quale numero di porta è in ascolto un processo

Esiste un comando in Linux per conoscere il numero del processore in cui viene caricato un processo?