Tutorial

Quale processo Linux sta utilizzando una porta? Scoprilo da linea di comando!

È possibile scoprire quale processo sta occupando una porta in Linux? Mediante questa semplice spiegazione vedremo come sia possibile farlo.

Premettiamo anzitutto che, nell’ambito delle reti di computer, le porte sono lo strumento utilizzato per realizzare la cosiddetta multiplazione delle connessioni, al fine quindi di consentire ad un calcolatore di effettuare correttamente più connessioni contemporanee verso altri calcolatori, facendo in modo che i dati dei vari pacchetti in arrivo vengano smistati al processo che li sta aspettando.

Nel seguito, in quanto operazione piuttosto comune nella configurazione e manutenzione dei sistemi, andremo a vedere come, con un singolo comando da terminale, si possa scoprire processo e PID che sta eventualmente occupando la porta 80, quella normalmente utilizzata per il protocollo HTTP.

server dedicato

Si noti come le operazioni descritte di seguito possano richiedere, in alcune versioni di Linux, l’installazione dei due comandi lsof e fuser: ricordiamo inoltre che per interrompere l’esecuzione di un comando è sufficiente, dalla finestra del terminale, digitare i tasti CTRL e C contemporaneamente.

Dobbiamo conoscere i seguenti quattro punti, anzitutto, per eseguire quello che ci serve:

  • netstat – tool a linea di comando che mostra le connessioni di rete attive, le tabelle di routing e varie statistiche;
  • fuser – comando utile per identificare i processi che utilizzino file oppure socket;
  • lsof – comando utile per listare i file sotto UNIX/Linux, oltre che vedere quali file siano aperti ed il processo che lo ha fatto.
  • /proc/$pid/ file system – In Linux la directory /proc indica i processi (inclusi quelli di kernel) che siano attivi secondo la convenzione /proc/PID, comprese le porte aperte da quei processi ed ulteriori dettagli.

Una prima possibilità per conoscere quale processo stia occupando la porta 80 è data dal comando:

netstat -tulpn | grep :80

oppure, in alternativa:

netstat -tulpn | grep --color :80

che mostrerà in output una cosa del genere:

tcp 0 0 0.0.0.0:80  0.0.0.0:* LISTEN 1215/nginx

in cui:

  1. 0 0.0.0.0:80 rappresenta l’IP sorgente:porta;
  2. 1215/nginx è invece il PID/Nome del processo.

In questo caso la porta 80 è occupata dal processo nginx, su cui possiamo saperne di più attraverso i due comandi opzionali:

whatis nginx
whereis nginx

Lascia un commento

Back to top button