Netstat Commands Reference
Riferimento completo dei comandi netstat e ss per Linux, macOS e Windows con esempi cercabili.
List all connections
netstat -ass -aList listening ports (TCP+UDP)
netstat -tulnss -tulnShow TCP connections
netstat -tnss -tnShow UDP connections
netstat -unss -unShow process PIDs
netstat -tulnpss -tulnp⚠ Linux/macOS may require root for PID visibility
Show routing table
netstat -rip routeShow network statistics
netstat -sss -sCount connections by state
netstat -an | awk '{print $6}' | sort | uniq -c | sort -rnss -tan | awk 'NR>1 {print $1}' | sort | uniq -cFind process using a port
netstat -tulnp | grep :8080ss -tulnp | grep :8080⚠ Replace 8080 with your port number
Show socket summary
netstat -iss -iInformazioni sullo strumento
Netstat e ss sono utilità da riga di comando che visualizzano connessioni di rete attive, tabelle di instradamento, statistiche di interfaccia e informazioni sui socket su sistemi Linux, macOS e Windows. Netstat è stata la scelta tradizionale per decenni, ma ss (statistiche socket) è il moderno sostituto sui sistemi Linux—è più veloce, più leggibile e mostra informazioni dettagliate sullo stato del socket. Comprendere questi strumenti è essenziale per gli amministratori di rete per diagnosticare problemi di connettività, identificare quali applicazioni stanno utilizzando risorse di rete, monitorare l'attività delle porte e tracciare connessioni inaspettate e servizi in ascolto.
Questa guida di riferimento organizza i più utili comandi netstat e ss per attività: verificare quali porte sono in ascolto, visualizzare connessioni attive, trovare gli ID dei processi associati all'attività di rete, analizzare il traffico per protocollo, elencare tutti i socket in diversi stati e monitorare le statistiche dell'interfaccia di rete. Ogni comando è spiegato con il suo scopo e il formato di output tipico, rendendo facile trovare la sintassi esatta di cui hai bisogno senza dover memorizzare dozzine di flag. Il formato ricercabile ti consente di filtrare rapidamente per nome di comando, tipo di protocollo o caso d'uso—sia che tu stia risolvendo problemi di un servizio sospeso, controllando le porte aperte per la sicurezza o investigando il consumo di larghezza di banda.
Gli amministratori di sistema, gli ingegneri DevOps e i professionisti della sicurezza si affidano quotidianamente a questi comandi per comprendere il comportamento della rete del sistema, rilevare conflitti di porta, verificare che i servizi stiano ascoltando correttamente e identificare accessi di rete non autorizzati. Sia che tu sia nuovo a questi strumenti o che tu abbia bisogno di un rapido promemoria della sintassi corretta, questo riferimento ti fa risparmiare tempo fornendo esempi reali e pratici che puoi copiare e adattare immediatamente per il tuo specifico compito di diagnosi o monitoraggio della rete.
Domande Frequenti
Implementazione del Codice
import subprocess
import platform
def run_netstat(args: list[str]) -> str:
"""Run netstat command and return output."""
try:
result = subprocess.run(["netstat"] + args, capture_output=True, text=True, timeout=10)
return result.stdout
except FileNotFoundError:
# Try ss on Linux if netstat not found
if platform.system() == "Linux":
result = subprocess.run(["ss"] + args, capture_output=True, text=True, timeout=10)
return result.stdout
return "netstat not found"
# Show all listening TCP ports
print("=== Listening TCP ports ===")
system = platform.system()
if system == "Linux":
print(run_netstat(["-tlnp"])) # or ss -tlnp
elif system == "Darwin": # macOS
print(run_netstat(["-an", "-p", "tcp"]))
elif system == "Windows":
print(run_netstat(["-ano", "-p", "TCP"]))
# Parse listening ports
def get_listening_ports() -> list[dict]:
"""Parse ss output on Linux to get listening ports."""
result = subprocess.run(["ss", "-tlnp"], capture_output=True, text=True)
ports = []
for line in result.stdout.splitlines()[1:]:
parts = line.split()
if len(parts) >= 4 and parts[0] == "LISTEN":
ports.append({"state": parts[0], "local": parts[3], "process": parts[6] if len(parts) > 6 else ""})
return ports
if system == "Linux":
for p in get_listening_ports():
print(p)Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.