Netstat Commands Reference
Référence complète des commandes netstat et ss pour Linux, macOS et Windows avec exemples consultables.
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 -iÀ propos de cet outil
Netstat et ss sont des utilitaires en ligne de commande qui affichent les connexions réseau actives, les tables de routage, les statistiques d'interface et les informations de socket sur les systèmes Linux, macOS et Windows. Netstat a été le choix traditionnel pendant des décennies, mais ss (statistiques de socket) est le remplaçant moderne sur les systèmes Linux—il est plus rapide, plus lisible et affiche des informations détaillées sur l'état des sockets. Comprendre ces outils est essentiel pour que les administrateurs réseau diagnostiquent les problèmes de connectivité, identifient les applications utilisant les ressources réseau, surveillent l'activité des ports et localisent les connexions inattendues et les services d'écoute.
Ce guide de référence organise les commandes netstat et ss les plus utiles par tâche : vérifier les ports en écoute, afficher les connexions actives, trouver les ID de processus associés à l'activité réseau, analyser le trafic par protocole, lister tous les sockets dans différents états et surveiller les statistiques de l'interface réseau. Chaque commande est expliquée avec son objectif et son format de sortie typique, ce qui facilite la recherche de la syntaxe exacte dont vous avez besoin sans mémoriser des dizaines de drapeaux. Le format de recherche vous permet de filtrer rapidement par nom de commande, type de protocole ou cas d'utilisation—que vous dépanniez un service bloqué, auditez les ports ouverts pour la sécurité ou enquêtiez sur la consommation de bande passante.
Les administrateurs système, les ingénieurs DevOps et les professionnels de la sécurité s'appuient sur ces commandes au quotidien pour comprendre le comportement du réseau du système, détecter les conflits de ports, vérifier que les services écoutent correctement et identifier les accès réseau non autorisés. Que vous soyez nouveau avec ces outils ou ayez besoin d'un rappel rapide de la syntaxe correcte, cette référence économise du temps en fournissant des exemples réels et pratiques que vous pouvez copier et adapter immédiatement pour votre tâche spécifique de diagnostic ou de surveillance réseau.
Questions Fréquentes
Implémentation du Code
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.