Votre serveur de jeu tourne, mais la latence grimpe et vous ne savez pas pourquoi. Avant de redémarrer quoi que ce soit, une commande suffit pour voir en temps réel quelles connexions sont actives et quel processus monopolise la bande passante. Ce guide d'administration Linux vous montre comment utiliser ss et nethogs, deux outils disponibles sur n'importe quel VPS ou serveur dédié, sans installation complexe et sans configuration supplémentaire du pare-feu.
Pourquoi ss et nethogs plutôt que netstat ?
netstat est présent depuis des décennies, mais il n'est plus maintenu dans la plupart des distributions modernes : sur Ubuntu 22.04 et Debian 12, il faut installer le paquet net-tools séparément. ss (socket statistics) est son successeur officiel sur les systèmes Unix/Linux, inclus dans le paquet iproute2 présent par défaut sur tous les serveurs VPS Linux. L'outil accède directement aux données du noyau via le sous-système Netlink, ce qui le rend significativement plus rapide sur les serveurs dédiés et VPS avec des milliers de connexions simultanées.
nethogs complète ss pour une dimension que celui-ci ne couvre pas nativement : la consommation de bande passante par processus en temps réel, à la façon d'un top orienté réseau. Si votre serveur FiveM ou votre serveur Minecraft émet soudainement un trafic inhabituel, nethogs vous montre en quelques secondes si c'est le moteur de jeu, Nginx, un script, ou un processus parasite. L'outil ne nécessite aucun module noyau supplémentaire, ne requiert pas de désactiver les protections système, et a un impact négligeable sur le CPU et la RAM du serveur.
Installer nethogs
ss est déjà présent sur votre VPS ou serveur dédié via le paquet iproute2. Pour nethogs, une seule commande d'installation depuis le shell administrateur suffit :
# Debian / Ubuntu
sudo apt install nethogs
# AlmaLinux / Rocky Linux / CentOS Stream
sudo dnf install nethogs
Le paquet pèse moins de 100 Ko. Il utilise libpcap et fonctionne sur n'importe quel VPS Linux ou serveur dédié sans configuration préalable du pare-feu ni modification des règles réseau. Les administrateurs qui gèrent plusieurs machines peuvent l'installer via un script de déploiement standard.
Surveiller les connexions actives avec ss
Connexions établies avec le processus associé
La commande de base pour voir toutes les connexions TCP actives avec le nom du processus responsable :
sudo ss -tnp state established
Décryptage des configurations d'options :
-t: afficher uniquement les sockets TCP-n: format numérique (pas de résolution DNS, plus rapide)-p: afficher le processus propriétaire de chaque socket (nécessite root)state established: filtrer sur les connexions en état ESTABLISHED
Exemple de sortie typique sur un serveur de jeu Linux géré par un hébergeur VPS :
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp ESTAB 0 0 0.0.0.0:30120 203.0.113.42:51234 users:(("FXServer",pid=1842,fd=23))
tcp ESTAB 0 0 0.0.0.0:25565 198.51.100.7:44321 users:(("java",pid=2011,fd=18))
tcp ESTAB 0 0 127.0.0.1:3306 127.0.0.1:54201 users:(("mysqld",pid=1203,fd=12))
La colonne Process affiche directement le nom du binaire, son PID et le descripteur de fichier. Sur un serveur géré via Pterodactyl, vous identifiez immédiatement quel conteneur concentre les connexions entrantes. Un Nginx ou un service de backup qui ouvre des connexions sortantes inattendues sera immédiatement visible.
Filtrer par port de jeu
Pour isoler les connexions sur un port spécifique, par exemple le port 30120 de FiveM :
sudo ss -tnp 'sport = :30120 or dport = :30120'
Pour Minecraft (port 25565 par défaut selon les configurations standard) :
sudo ss -tnp 'sport = :25565 or dport = :25565'
Pour vérifier les connexions VPN sur le port WireGuard (51820 par défaut) :
sudo ss -unp 'sport = :51820 or dport = :51820'
Compter les connexions par adresse source
Sur un serveur dédié avec de nombreux joueurs, identifier les adresses IP qui ouvrent le plus de connexions aide à détecter un comportement anormal avant d'intervenir au niveau du pare-feu :
sudo ss -tn state established | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20
Cette commande shell extrait les adresses IP sources, les compte et les trie par ordre décroissant. Une adresse IP avec des dizaines de connexions simultanées peut indiquer une tentative de saturation. Consultez également notre guide pour limiter les tentatives de connexion SSH sur un VPS Linux.
Statistiques réseau globales
Pour un résumé de l'état des sockets sur le serveur VPS ou dédié :
ss -s
La sortie indique le nombre total de connexions TCP par état (ESTABLISHED, TIME-WAIT, CLOSE-WAIT, etc.), le nombre de sockets UDP et RAW. C'est utile pour détecter une accumulation anormale de connexions en TIME-WAIT, signe d'un trafic intense ou d'une mauvaise configuration des paramètres noyau. Un hébergeur de qualité fournit généralement un VPS avec un noyau Linux pré-configuré pour des charges réseau élevées.
Rafraîchissement continu avec watch
ss fournit un instantané. Pour l'exécuter toutes les 2 secondes depuis un shell et observer l'évolution en direct sans consommer trop de CPU :
watch -n 2 'sudo ss -tnp state established | wc -l'
Pour conserver une session de surveillance active en arrière-plan sans risquer de la perdre lors d'une déconnexion SSH, lancez la commande dans une session tmux persistante.
Bande passante par processus avec nethogs
Lancer nethogs
La commande minimale pour surveiller toutes les interfaces réseau actives sur votre serveur Linux :
sudo nethogs
nethogs affiche en temps réel un tableau des processus triés par consommation de bande passante descendante. Chaque ligne indique : le nom du programme, son PID, son UID, et les débits entrant et sortant en KB/s (mode par défaut, correspondant à l'option -v 0). L'empreinte mémoire de l'outil est faible, de l'ordre de quelques Mo de RAM, et il n'impacte pas les performances réseau du serveur.
Options utiles et configurations
Surveiller une interface réseau spécifique (par exemple eth0) :
sudo nethogs eth0
Ajuster le délai de rafraîchissement à 2 secondes (le délai par défaut est 1 seconde d'après la documentation officielle) :
sudo nethogs -d 2
Afficher les débits en MB/s plutôt qu'en KB/s :
sudo nethogs -v 4
Les modes de vue disponibles via l'option -v sont : 0 pour KB/s (défaut), 1 pour total KB, 2 pour total B, 3 pour total MB, et 4 pour MB/s.
Contrôles interactifs pendant l'exécution
Une fois nethogs lancé depuis votre shell, plusieurs touches permettent d'interagir :
q: quitters: trier par trafic envoyér: trier par trafic reçum: basculer entre les modes total (KB, MB) et débit (KB/s, MB/s)l: afficher la ligne de commande complète du processus
Exécuter nethogs sans root
Si vous administrez votre serveur dédié avec un compte non privilégié, vous pouvez accorder les capacités réseau nécessaires à l'exécutable :
sudo setcap "cap_net_admin,cap_net_raw+pe" /usr/sbin/nethogs
Après cette opération, nethogs peut être lancé sans sudo. Le chemin peut varier selon votre distribution Linux ; vérifiez avec which nethogs avant d'appliquer la commande. Cette approche est préférable à désactiver les contrôles de sécurité sur un VPS exposé à Internet.
Cas pratiques sur un serveur de jeu
Détecter une saturation réseau
Si vos joueurs signalent des pics de latence, lancez simultanément ss -s et nethogs dans deux fenêtres tmux. ss -s révèle une accumulation de connexions en TIME-WAIT ou une file d'attente Recv-Q non vide. nethogs indique quel processus émet ou reçoit un trafic anormalement élevé. Un processus de backup qui démarre en pleine heure de pointe, un proxy sortant non voulu ou une mise à jour automatique peuvent saturer la bande passante d'un VPS.
Sur un VPS Linux hébergeant un serveur FiveM avec 32 joueurs actifs, un débit sortant supérieur à 10 MB/s sur le processus FXServer est inhabituel et mérite investigation côté scripts et ressources chargées.
Vérifier après une mise à jour
Après une mise à jour du serveur de jeu, relancez nethogs pendant 5 minutes et comparez le profil de trafic avec les logs précédents. Un nouveau script ou une nouvelle dépendance qui contacte une API externe apparaîtra comme un nouveau processus dans la liste, avec une adresse IP de destination distincte visible dans ss.
Identifier un trafic suspect
Si nethogs montre un processus inconnu consommant de la bande passante, notez son PID et inspectez-le depuis le shell :
# Voir la commande complète du processus
cat /proc/<PID>/cmdline | tr '\0' ' '
# Voir les connexions de ce processus avec ss
sudo ss -tnp | grep "pid=<PID>"
Cette séquence permet de confirmer rapidement si le processus est légitime. Combinez-la avec la vérification des logs d'authentification SSH et la consultation des journaux systemd avec journalctl pour un diagnostic complet.
Aller plus loin
La surveillance des connexions réseau s'inscrit dans une démarche plus large de monitoring de votre infrastructure. Après avoir maîtrisé ss et nethogs, les étapes suivantes consistent à automatiser les contrôles via des scripts shell : un script de détection hors service peut inclure un seuil sur le nombre de connexions pour déclencher une alerte. L'outil iostat complète le tableau en corrélant les pics réseau avec les I/O disque. Pour héberger votre serveur de jeu avec la bande passante et les ressources CPU nécessaires, nos offres de VPS Linux et de serveurs dédiés sont dimensionnées pour les charges de jeu en ligne.
Hébergez votre serveur de jeu sur un VPS Linux haute performance avec une bande passante dédiée.
Découvrir nos VPS Linux