Hostwinds Blog

Cerca risultati per:


5 modi per controllare le porte aperte su Linux Immagine in primo piano

5 modi per controllare le porte aperte su Linux

di: Hostwinds Team  /  gennaio 14, 2025


Le porte sono come porte che consentono app e programmi sul sistema Linux inviare e ricevere dati.Se vuoi vedere quali porte sono in uso, quali sono aperte o semplicemente capire cosa sta succedendo con la tua rete, sei arrivato nel posto giusto.

In questa guida, attraverseremo diversi modi per controllare le porte in Linux usando comandi semplici.Alla fine, ti sentirai più a tuo agio a lavorare con le porte e sapere cosa sta succedendo sul tuo sistema.

Cosa sono le porte?

Prima di saltare nei comandi, prendiamo un momento per capire quali sono le porte:

  • Le porte sono numeri che identificano programmi o app specifici in esecuzione sul tuo computer.Per esempio:
    • Porte del server Web sono in genere utilizzati Porta 80 (Http) o Porta 443 (HTTPS).
    • Gli accessi remoti tramite SSH in genere utilizzano Porta 22.
  • Ogni porta ha un numero tra 0 e 65535, che rientrano in tre gruppi principali:
    • 0–1023: Riservato per protocolli comuni come HTTP e FTP.
    • 1024–49151: Per le applicazioni installate.
    • 49152–65535: Porte temporanee utilizzate quando le app si connettono a un servizio.

Di mezzo, esploriamo come controllare cosa sta succedendo con le tue porte.

Come controllare le porte in Linux

Linux ha una serie di strumenti per aiutarti a controllare le porte aperte o di ascolto.Di seguito, attraverseremo cinque metodi comuni e spiegheremo cosa fa ognuno.

1. Utilizzo di NetStat

Il comando NetStat offre una vista dettagliata delle connessioni di rete e dell'utilizzo della porta.

Apri un terminale e un tipo:

netstat -tuln

Ecco cosa significa ogni opzione:

  • -T: Mostra porte TCP (Transmission Control Protocol).
  • -u: Mostra le porte UDP (User Datagram Protocol).
  • -l: Mostra solo porte che stanno ascoltando attivamente.
  • -N: Saltare i nomi dei programmi di traduzione (ad es. "Ssh") in numeri di porta, il che lo rende più veloce.

Cosa vedrai:

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
udp        0      0 0.0.0.0:68              0.0.0.0:*

Ecco come leggere questo:

  • Proto: Mostra se è TCP o UDP.
  • Indirizzo locale: L'IP della macchina e la porta in uso.
  • Indirizzo straniero: L'IP e la porta dell'altra macchina (o* se è aperto a tutti).
  • Stato: Per TCP, ascolta significa che è in attesa di connessioni.

Nota veloce: NetStat fa parte del pacchetto Net-Tools, che potrebbe non essere preinstallato su nuove versioni Linux.Installalo usando:

sudo apt install net-tools  # On Debian/Ubuntu  
sudo yum install net-tools  # On RHEL/CentOS 

2. Utilizzo di SS

ss è un'alternativa più recente e più veloce a NetStat.Fornisce informazioni simili ma funziona meglio sui sistemi moderni.

Esegui il seguente comando:

ss -tuln

Le opzioni sono le stesse di NetStat, quindi dovresti essere in grado di saltare subito.

Cosa vedrai:

Netid   State      Recv-Q Send-Q Local Address:Port           Peer Address:Port
tcp     LISTEN     0      128    0.0.0.0:22                  0.0.0.0:*         
udp     UNCONN     0      0      0.0.0.0:68                  0.0.0.0:*

Questo output è simile a NetStat, ma ss Tende ad essere più veloce, soprattutto se hai a che fare con molte connessioni.

3. Utilizzo di LSOF

lsof (Elenco Open File) è uno strumento utile per vedere quali file o connessioni di rete vengono utilizzati dai processi.

Per vedere quali porte sono aperte e cosa le usano, eseguire:

sudo lsof -i -P -n
  • -io: Filtri per file relativi alla rete.
  • -P: Mostra numeri di porta grezzi anziché nomi di servizi.
  • -N: Skips traducendo gli indirizzi IP in nome host per velocità.

Cosa vedrai:

COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd      1234 root   3u  IPv4  12345      0t0  TCP *:22 (LISTEN)
dhclient  5678 root   6u  IPv4  54321      0t0  UDP *:68
  • COMANDO: Il programma che utilizza la porta.
  • PID: ID processo.
  • NOME: La porta e il protocollo (ad es. TCP sulla porta 22).

Perché è utile:

Se stai risolvendo i problemi e hai bisogno di scoprire quale processo utilizza una porta specifica, lsof è il tuo strumento di riferimento.

4. Utilizzo di NMAP

nmap (Network Mapper) è l'ideale per la scansione di reti e il controllo di quali porte sono aperte.

Per scansionare tutte le porte, eseguire:

sudo nmap -sT -p- localhost
  • -st: Esegue una scansione di connessione TCP.
  • -P-: Scansiona tutte le 65.535 porte.

Cosa vedrai:

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
  • PORTA: Il numero di porta e il protocollo (TCP o UDP).
  • STATO: Ti dice se la porta è aperta, chiusa o filtrata (bloccata da un firewall).
  • SERVIZIO: Il nome comune del servizio utilizzando la porta.

Perché NMAP è utile:

nmap è fantastico se si desidera una vista completa di tutte le porte aperte sul sistema o devi scansionare un'altra macchina.

5. Utilizzo di NC (netcat)

Netcat è uno strumento semplice ma potente per il controllo se è aperta una porta specifica.

Per verificare se la porta 22 è aperta, digitare:

nc -zv localhost 22
  • -Z: Basta scansionare le porte aperte senza inviare dati.
  • -v: Mostra l'output dettagliato.

Cosa vedrai:

Connection to localhost 22 port [tcp/ssh] succeeded!

Perché è utile:

Se devi solo controllare rapidamente se una porta specifica è aperta, nc Fa il lavoro senza troppi storie.

Dare un senso ai risultati

Quando controlli le porte, ecco cosa significano di solito i risultati:

  • Porte di ascolto/aperte: Queste porte sono pronte ad accettare connessioni.Ad esempio, un server Web ascolterà la porta 80 o 443.
  • Porte chiuse: Queste porte non sono in uso, quindi non accetteranno connessioni.
  • Porte filtrate: Queste porte sono bloccate da un firewall o una regola di sicurezza, quindi sembrano invisibili.

Scenari comuni

Quando si controlla le porte, puoi imbatterti in scenari seguenti:

  • Vedi una porta aperta che non ti aspettavi: Questo potrebbe significare che un programma è in esecuzione che non hai bisogno o riconoscere.È una buona idea indagare ulteriormente.
  • Una porta di cui hai bisogno è chiusa: Il programma potrebbe non essere in esecuzione o un firewall potrebbe bloccarlo.

Proteggere il tuo sistema

Controllare le porte è solo il primo passo.Ecco alcuni modi per riordinare le cose:

Ferma i programmi inutili:
Se un programma è in esecuzione su una porta che non è necessario, disattiva:

sudo systemctl stop <service_name>
sudo systemctl disable <service_name>

Usa un firewall:
Limitare l'accesso alle porte utilizzando uno strumento come UFW (firewall semplice):

sudo ufw allow 22     # Allow SSH  
sudo ufw deny 80      # Block HTTP

Monitora regolarmente le porte:
Prendi l'abitudine di controllare le porte aperte di tanto in tanto, soprattutto se stai eseguendo un server.

Avvolgendo

Il controllo delle porte in Linux non deve essere complicata.Che tu utilizzi NetStat, SS, LSOF, NMAP o NC, ogni strumento ti offre una visione leggermente diversa di ciò che sta succedendo.Scegli quello che funziona meglio per le tue esigenze e non aver paura di esplorare.Più ti alleni, più è più facile!

Scritto da Hostwinds Team  /  gennaio 14, 2025