sapere quali porte sono in uso su un sistema è un'attività di base per qualsiasi amministratore. Dalla configurazione delle interfacce alla protezione dalle intrusioni e passando attraverso la risoluzione dei problemi che possiamo immaginare, dobbiamo essere in grado di verificare se una porta fornisce un qualche tipo di servizio nel nostro ambiente.
Immagina la situazione in cui hai installato il servizio di stampa CUPS nel tuo sistema e non sai se il servizio è stato avviato correttamente e ha alzato la sua porta corrispondente 631 o la sua 515 opzionale. In questa guida ti mostreremo tre comandi di base per rilevare le porte utilizzate da un sistema e qual è il suo stato.
Successivamente esamineremo 3 comandi di base che sono particolarmente utili nell'amministrazione di qualsiasi sistema. Riguarda lsof, netstat e nmap, utilità che eseguiremo dalla console del terminale e con privilegi di root.
Comando Lsof
Il comando lsof è il più semplice di quanti te ne prestiamo e, essendo nativo di Linux, la base che ogni utente dovrebbe conoscere. Per conoscere le porte aperte nel sistema tramite questo comando, è necessario inserire una sequenza come la seguente, che ti mostrerà varie informazioni dove evidenzieremo: il nome dell'applicazione (ad esempio, sshd), il file presa di corrente del programma (in questo caso l'indirizzo IP 10.86.128.138 associato alla porta 22 ovvero LISTENING) e l'identificativo del processo (che sarebbe 85379).
$ sudo lsof -i -P -n $ sudo lsof -i -P -n | grep LISTEN
Comando Netstat
Il comando netstat varia leggermente nella sua sintassi rispetto alla precedente ma ne presenta alcuni parametri molto più facili da memorizzare grazie a una semplice parola mnemonica. D'ora in poi non dimenticare la parola putona, che fa riferimento alle seguenti caratteristiche:
- p: mostra le connessioni per il protocollo specificato che può essere TCP o UDP.
- u: elenca tutte le porte UDP.
- t: elenca tutte le porte TCP.
- o: Visualizza il file timer.
- n: mostra il numero di porta.
- a: Visualizza tutte le connessioni attive nel sistema.
Quindi, inserendo il comando e filtrandolo con un file tubo possiamo ottenere informazioni su una certa porta.
$ netstat -putona | grep numero-de-puerto
Comando Nmap
Nmap È un'utilità che noi consente una moltitudine di scansioni nel nostro sistema e uno di loro, quello delle porte aperte nell'attrezzatura. Per eseguirlo dobbiamo introdurre una sequenza del tipo nmap -sX -OY, prendendo X il valore T o U rispettivamente per la connessione TCP o UDP e il valore Y l'indirizzo IP della nostra macchina (o localhost in breve). Dai un'occhiata al seguente esempio.
</pre> $ sudo nmap -sU -O localhost $ sudo nmap -sT -O 192.168.0.1 <pre>
Con queste tre applicazioni hai già abbastanza strumenti per determinare le porte aperte della tua macchina. Utilizzi gli stessi strumenti o conosci un altro modo per verificare le porte aperte di un sistema?
Non capisco nulla. Normale, non sono uno specialista, ma è interessante 🙂
Ciao buona giornata, come posso vedere i dati che arrivano attraverso una porta?
Ho un dispositivo che mi invia stringhe tramite gprs alla porta 10005 del mio ubuntu e ho bisogno del terminale per vedere le stringhe che mi arrivano, puoi supportarmi per favore? Grazie. slds
Con il comando netstat -putona osservo che l'indirizzo 127.0.0.1 compare in due protocolli tcp e upd, in entrambi i casi la porta 53. È normale o corretta? Per coincidenza ho problemi con il desktop dnsmasq e zimbra che non si solleva in Ubuntu 16.04.
Nel tentativo di avviare zimbra mi mostra: Pagina 127.0.0.1 ha rifiutato la connessione.
Apprezzo il tuo aiuto per entrare a far parte di questa comunità.
Molto bene.
Basta aggiungere: Con ls puoi conoscere il percorso del processo e ci sono anche altri comandi come ss o fuser con i quali possiamo vedere quale processo sta usando una porta.
Visto qui: https://www.sysadmit.com/2018/06/linux-que-proceso-usa-un-puerto.html
Ottimo, ben riassunto e spiegato, non mi dimentico di PUTONA hehe. ;-D