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
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
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
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
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
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
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
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
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
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
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
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
Possiamo anche eseguire il seguente comando per ottenere entrambe le porte UDP e TCP:
$ sudo nmap -n -PN -sT -sU -p- localhost
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
Inoltre, può essere esteso all'intero elenco di determinati porti:
$ nc -z -v localhost 1-65535
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
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