logo

Come controllare le porte aperte in Linux

Brevemente descriveremo le porte all'interno della rete di computer e inoltre parleremo di come elencare tutte le porte aperte in Linux.

Una porta può essere definita come un'entità logica in termini di reti di computer e software.

Funziona come un endpoint di comunicazione per identificare un determinato processo o applicazione sul Sistema operativo Linux . Un porto è a 16 bit (da o a 65535) numero che differenzia una singola applicazione dalle altre su vari sistemi finali.

Due dei più famosi protocolli di trasporto Internet, Protocollo datagramma utente (UDP) E Protocollo di controllo della trasmissione (TCP) e altri protocolli applicano numeri di porta per molte sessioni di comunicazione (numeri di porta di destinazione e di origine insieme agli indirizzi IP di destinazione e di origine).

Una combinazione di protocollo, porta e indirizzo IP come TCP/UDP si chiama a PRESA. È necessario che tutti i servizi abbiano una presa specifica.

pulsante per centrare CSS

Categorie di Porto

Queste porte sono divise in tre categorie per facilità d'uso perché la varietà di porte è ampia. Tutte le categorie sono etichettate come intervallo di valori della porta:

0-1023: Questi porti lo sono ben noto e ho chiamato 'Sistema' porti. Sono riservati ai processi del sistema che forniscono una vasta gamma di servizi di rete. Un processo dovrebbe avere i privilegi di un superutente per l'associazione con qualsiasi 'Noto' porta.

1024-49151: Questi porti lo sono 'Registrato' e chiamato il 'Utente' porti. Sono designati tramite IANA per servizi unici. Un processo potrebbe avere l'autenticazione su richiesta. Non è necessario alcun privilegio di superutente per utilizzare queste porte nella maggior parte dei sistemi.

49152-65535: Questi porti lo sono 'Dinamico' e chiamato il 'Privato' porti. Non possono essere registrati IANA. Questi tipi di porti sono aperti all'utilizzo per servizi personalizzati e privati ​​e possono anche essere assegnati come porti temporanei (noti come di breve durata porte applicate dall'IP) automaticamente.

Esistono tanti modi per controllare le porte aperte in Linux. Per impostazione predefinita, una porta verrà chiusa a meno che un'applicazione non la stia applicando. Una porta dovrebbe essere assegnata a un processo o servizio se è aperta.

Apri l'elenco delle porte

È più semplice sapere quale porta è in uso anziché quale è aperta. Pertanto, la sezione seguente fornirà metodi per elencare tutte le porte attualmente in uso.

Esistono diversi strumenti presenti per questa attività in Linux. La maggior parte sono disponibili integrato in una distribuzione Linux.

Sapere quale porta è attualmente aperta potrebbe essere utile in molti scenari. È possibile determinare una porta dedicata per un'applicazione sicura. Una porta aperta potrebbe essere un forte indicatore di intrusione all'interno della rete.

I metodi sono utilizzati su Ubuntu 20.04 LTS che sono menzionati di seguito.

Elenca le porte e i protocolli aperti utilizzando il file /etc/services

Il file, cioè /etc/servizi contiene dettagli sui servizi in esecuzione (attualmente). È un file di grandi dimensioni.

 $cat /etc/services | less 

Come controllare le porte aperte in Linux

Elenca le porte aperte con netstat

IL netstat tool può essere descritto come un'utilità per visualizzare le connessioni di rete per tabelle di routing, TCP e diverse interfacce di rete. Inoltre, facilita le statistiche del protocollo di rete. Potremmo elencare ogni porta aperta di un sistema utilizzando lo strumento netstat.

Possiamo eseguire il comando seguente:

 $ netstat -atu 

Come controllare le porte aperte in Linux

Spieghiamo rapidamente la suddivisione di ciascun flag che abbiamo utilizzato nel comando precedente:

1.a: Questo flag informa netstat per la visualizzazione di ciascun socket.

2.t: Questo flag informa netstat per l'elenco delle porte TCP.

3. in: Questo flag informa netstat per l'elenco delle porte UDP.

IL netstat il comando ha un'altra variazione menzionata di seguito:

 $ netstat -lntu 

Come controllare le porte aperte in Linux

Due flag sono nuovi nel comando precedente che è spiegato come segue:

1.l: Questo flag informa netstat di stampare solo i socket in ascolto.

indice di stringa Java di

2.n: Questo flag informa netstat di mostrare il numero di porta.

Possiamo usare un flag, cioè '-P' per mostrare il PID del processo che utilizza qualsiasi porta.

 $ netstat -lntup 

Come controllare le porte aperte in Linux

Controlla le porte aperte localmente

Il comando netstat è disponibile su ogni sistema operativo del computer per monitorare le connessioni di rete. Il comando seguente applica netstat per visualizzare ciascuna porta di ascolto con il protocollo TCP:

 netstat -lt 

Come controllare le porte aperte in Linux

Definiamo brevemente i flag presenti nel comando precedente:

1. -l: Elenca le porte di ascolto.

2. -t: Specifica il protocollo TCP.

Il risultato è ben ordinato in colonne che mostrano il protocollo, i pacchetti inviati e ricevuti, lo stato della porta, gli indirizzi IP remoti e locali.

Se modifichiamo il protocollo TCP per il protocollo UDP, l'output mostrerà solo le porte aperte. Il risultato verrà mostrato senza descrivere lo stato a causa della contraddizione con il protocollo TCP.

 netstat -lu 

Come controllare le porte aperte in Linux

Possiamo ignorare la descrizione dei protocolli e applicare solo l'opzione --listen o -l per ottenere dettagli su ciascuna porta in ascolto libero del protocollo:

 netstat --listen 

Come controllare le porte aperte in Linux

L'opzione precedente mostrerà i dettagli per i protocolli socket Unix, UDP e TCP.

Ogni esempio sopra mostra come stampare i dettagli sulle porte di ascolto senza connessioni autorizzate. I comandi seguenti mostrano come mostrare le porte di ascolto e le connessioni autorizzate.

 netstat -vatn 

Come controllare le porte aperte in Linux

Dove:

1. -in: È usato per la verbosità.

2. -a: Visualizza le connessioni attive.

3. -t: Visualizza le connessioni TCP.

4. -n: Visualizza le porte (valore numerico).

Diciamo che riconosciamo un processo sospetto all'interno del nostro sistema e desideriamo controllare le porte ad esso correlate. Possiamo usare il comando lsof che viene utilizzato per elencare i file aperti relativi ai processi.

 lsof -i 4 -a -p 

Dove,

1. -i: Elenca i file che collaborano con Internet, i 6 è presente l'opzione per IPv6, e il 4 l'opzione indica solo la stampa IPv4.

2. -a: Indica al risultato di essere Hai dato.

3. -p: Specifica il numero PID del processo che desideriamo controllare.

Elenca le porte aperte con ss

IL ss tool può essere specificato come un'utilità per indagare sul socket. L'utilizzo di questo strumento è lo stesso di netstat comando.

Possiamo eseguire il comando seguente per elencare le porte aperte:

 $ ss -lntu 

Come controllare le porte aperte in Linux

I flag di cui sopra sono gli stessi di netstat comando. Anche le funzioni descritte dallo strumento ss sono più o meno le stesse.

1.l: Questo flag informa ss di visualizzare i socket in ascolto.

2.n: Questo flag informa ss di non tentare di concludere i nomi dei servizi.

3. t: Questo flag informa ss per la visualizzazione dei socket TCP.

4. in: Questo flag informa ss per la visualizzazione dei socket UDP.

Elenca le porte aperte con lsof

Il comando lsof può essere utilizzato per elencare i file aperti. Ma può essere utilizzato anche per visualizzare le porte aperte.

Possiamo eseguire il seguente comando:

 $ lsof -i 

Come controllare le porte aperte in Linux

Per ottenere le porte aperte di un particolare protocollo (UDP, TCP, ecc.), specificarlo dopo aver utilizzato il file '-io' flag, possiamo eseguire il seguente comando:

 $ lsof -i 

Elenca le porte aperte con nmap

Il comando nmap può essere definito potente per la scansione di porte/sicurezza e l'esplorazione della rete. Può anche segnalare ogni porta aperta all'interno del sistema.

Possiamo eseguire il seguente comando per elencare le porte TCP aperte.

 $ sudo nmap -sT -p- localhost 

Come controllare le porte aperte in Linux

Ci sono due sezioni di questo comando menzionato sopra:

1. -st: Informa lo strumento nmap per la scansione TCP porti.

2. -p-: Informa lo strumento nmap per la scansione di ogni file 65535 porti. Lo strumento nmap eseguirà la scansione 1000 porte solo per impostazione predefinita se non utilizzate.

Se desideriamo elencare le porte aperte di UDP, possiamo eseguire il seguente comando:

 $ sudo nmap -sU -p- localhost 

Come controllare le porte aperte in Linux

Possiamo anche eseguire il seguente comando per ottenere entrambe le porte UDP e TCP:

 $ sudo nmap -n -PN -sT -sU -p- localhost 

Come controllare le porte aperte in Linux

Elenca le porte aperte con netcat

Lo strumento netcat può essere descritto come un'utilità della riga di comando per leggere e scrivere dati su molte connessioni di rete sui protocolli UDP e TCP. Inoltre, può essere utilizzato per elencare le porte aperte. Questo strumento può implementare test su una porta particolare o su una varietà di porte.

Il comando netcat seguente viene utilizzato per scansionare la porta da 1-1000. Per impostazione predefinita, implementerà la scansione sul protocollo TCP:

 $ nc -z -v localhost 1-1000 

Come controllare le porte aperte in Linux

Inoltre, può essere esteso all'intero elenco di determinati porti:

 $ nc -z -v localhost 1-65535 

Come controllare le porte aperte in Linux

Analizziamo rapidamente questi flag.

1. da: Informa il comando netcat di scansionare solo le porte aperte, senza trasferire alcun dato.

2. in: Informa il comando netcat per l'esecuzione in modalità dettagliata.

svantaggi dell’online banking

Possiamo filtrare il risultato con l'aiuto di grep per un termine 'successo' per ottenere solo le porte aperte attraverso questo elenco.

 $ nc -z -v 127.0.0.1 20-80 | grep succeeded 

Come controllare le porte aperte in Linux

Se desideriamo implementare la scansione sul protocollo UDP, il file. Possiamo includere il '-In' bandiera.

 $ nc -z -v -u localhost 0-65535 2>&1 | grep succeeded