■ space · voie prose
Utilisez ss — le standard actuel sur toute distro Linux moderne ; netstat y est hérité et souvent même pas installé.
Les drapeaux se traduisent un à un : netstat -tlpn → ss -tlpn, netstat -tulpna → ss -tulpna. Routage et interfaces ont déménagé vers ip route / et .
Chasse au port en une ligne : sudo ss -ltnp 'sport = :8080' — le nom du processus et le PID reviennent directement.
LE RUNBOOK TRADUIT
Chaque ligne netstat de votre vieux runbook, et ce qu'elle devient — lisez chaque rangée de gauche à droite :
toutes connexions TCP + UDPss -tulpnaip routeip -s linkss -sss -tnp 'sport = :22'les deux premières rangées sont identiques — par chance, les drapeaux courts de ss s'alignent avec ceux de netstat pour les cas courants, donc la mémoire musculaire survit en grande partie au déménagement
NETSTAT EST-IL DÉPRÉCIÉ ?
Sur Linux, en pratique oui. Le paquet net-tools — netstat, ifconfig, route — has not tracked modern kernel features for years and is no longer installed by default on any major distribution. It still exists, still runs, and there is nothing to uninstall, but new features land only in iproute2 (the package behind ss and ip — n'a pas suivi les fonctionnalités modernes du noyau depuis des années et n'est plus installé par défaut sur aucune distribution majeure. Il existe toujours, il tourne toujours, mais il est remplacé par
- Absent des installations fraîches. Un Ubuntu 24.04 ou un serveur Fedora par défaut n'a aucun
netstattant que vous n'installez pasnet-toolsà la main — c'est pourquoi tant de gens cherchent « l'équivalent netstat » : le binaire est simplement parti. - Pas d'info sockets moderne. netstat est antérieur à TCP fast open, aux stats de sockets par sous-flux et à l'attribution des sockets par cgroup.
ssles rapporte nativement. - L'exception Windows. Sous Windows,
netstatest vivant et bien portant —netstat -anoreste la manière standard de faire correspondre un PID à un port en écoute. Seule l'histoire Linux est une dépréciation.
LE CHEVAL DE TRAIT, DRAPEAU PAR DRAPEAU
signifie « socket statistics » : la vue du noyau de chaque socket TCP, UDP et Unix — états, adresses, ports, processus, timers, profondeurs de files. means "socket statistics": the kernel's view of every TCP, UDP and Unix socket — state, addresses, ports, processes, timers, queue depths.
# tout ce qui est en écoute, avec le processus propriétaire
sudo ss -tulpn
Drapeau par drapeau : TCP (-t), UDP (-u), écoute seule (-l), montrer les processus (-p), sortie numérique — pas de résolution DNS (-n). Le sudo compte pour -p : sans root vous voyez les ports mais n'obtenez pas les noms de processus des sockets qui ne vous appartiennent pas. Deux one-liners de plus qui couvrent l'essentiel du travail :
# toutes les connexions établies vers/depuis le port 443, avec processus
sudo ss -tnp 'sport = :443 or dport = :443'
# table résumé : combien de sockets dans chaque état
ss -s
Cette syntaxe de filtre est une vraie amélioration sur le grep-and-pray de netstat — elle tourne dans le noyau, donc elle est exacte plutôt que par correspondance de texte.
QUI TIENT LE PORT 8080 ?
La raison la plus courante de sortir l'un de ces outils :
sudo ss -ltnp 'sport = :8080'
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 511 *:8080 *:* users:(("node",pid=214113,fd=18))
Le champ users:(...) vous donne directement le nom du processus et le PID — pas besoin d'une seconde commande. Port occupé mais aucun processus affiché ? Vous regardez généralement un socket détenu par un autre espace de noms réseau — un conteneur. Depuis l'hôte, sudo ss -ltnp shows the port with an empty process column; match it with docker ps or nsenter into the container's namespace. Prefer a dedicated tool? fait le même travail et fonctionne à l'identique sur macOS et la plupart des BSD, d'où sa survie dans les runbooks — mais sur Linux, does the same job and works identically on macOS and most BSDs, which is why it survives in runbooks — but on Linux, est déjà là. is already there.
vérifiez : sudo ss -ltnp 'sport = :8080' → users:(("node",pid=…)) · remplacez par n'importe quel port 1–65535
POURQUOI « ss NOT FOUND » ?
Parce que vous êtes soit sur une distro très ancienne (pré-2007, avant qu'iproute2 ne soit standard) soit — bien plus probable — pas sur Linux du tout. ss n'est pas une commande macOS ; macOS shippе lsof et netstat mais pas de ss, pareil pour la plupart des BSD. Sous Windows : netstat -ano or PowerShell's de PowerShell. Si vous êtes vraiment sur Linux et qu'il manque, installez iproute2 : . If you genuinely are on Linux and it is missing, install iproute2: sudo apt install iproute2 (Debian/Ubuntu) or sudo dnf install iproute2 (Fedora/RHEL).
vérifiez : ss -V → une chaîne de version sur la première ligne
QUAND NETSTAT GAGNE ENCORE SA RANGÉE
Deux cas honnêtes. Portabilité : sur une flotte mixte de Linux, AIX ou vieux BSD, netstat est la seule syntaxe présente partout. Continuité de la mémoire musculaire dans les vieux runbooks — si un runbook dit netstat -tlpn et que la machine a net-tools installé, ça marche encore très bien. Sinon, défaut sur ss et mettez à jour le runbook — la table de traduction en haut est celle qui mérite d'être scotchée sur votre écran. Et quand le port trouvé appartient à un service qui refuse de démarrer, c'est une histoire systemd, pas une histoire de socket.
ss -ltnp d'exemple ci-dessus est une capture réelle d'une machine de dev (un processus node sur :8080), retapée, pas inventée.fin du runbook traduit · rien de récupéré · tout est local