Maîtriser la commande Netstat de Linux : Des bases à la surveillance avancée du réseau
Introduction
La commande netstat
(statistiques réseau) est l'un des outils de réseau les plus essentiels dans l'arsenal des administrateurs système Linux. Cet utilitaire de ligne de commande polyvalent fournit une vue complète des connexions réseau, des tables de routage, des statistiques d'interface et d'autres informations cruciales liées au réseau.
Qu'est-ce que netstat ?
netstat
est un utilitaire de réseau en ligne de commande qui affiche diverses informations liées au réseau, y compris :
- Connexions réseau (entrantes et sortantes)
- Tables de routage
- Statistiques d'interface réseau
- Connexions de masquage
- Adhésions multicast
- Statistiques de protocole
Pourquoi est-ce important ?
Les administrateurs système et les ingénieurs réseau s'appuient sur netstat
pour plusieurs tâches critiques :
- Dépannage des problèmes réseau - Identifier rapidement les problèmes de connexion et les goulets d'étranglement réseau
- Surveillance de la sécurité - Détecter les connexions réseau non autorisées et les activités suspectes
- Analyse des performances - Surveiller les modèles de trafic réseau et les statistiques d'interface
- Audit système - Examiner les services actifs et les ports ouverts
Brève histoire
La commande netstat
fait partie de l'arsenal TCP/IP depuis les débuts des systèmes Unix. Bien qu'elle ait été originellement développée dans BSD Unix, elle a évolué pour devenir un outil standard dans divers systèmes d'exploitation de type Unix, y compris Linux. Bien qu'elle soit considérée comme "dépréciée" au profit d'outils plus récents comme ss
, netstat
reste largement utilisé en raison de sa :
- Familiarité parmi les administrateurs système
- Large disponibilité sur différents systèmes de type Unix
- Ensemble de fonctionnalités riche et options de sortie détaillées
- Documentation étendue et soutien communautaire
Syntaxe de base et utilisation
Format de commande
La syntaxe de base de la commande netstat est :
netstat [options]
La commande peut être utilisée avec diverses options pour personnaliser la sortie en fonction de vos besoins. Sans aucune option, netstat affichera une liste des sockets ouverts.
Options et drapeaux courants
Voici les options les plus fréquemment utilisées :
Option | Description |
---|---|
-a | Affiche tous les ports d'écoute et les connexions actives |
-t | Affiche les connexions TCP |
-u | Affiche les connexions UDP |
-n | Affiche les adresses numériques au lieu de résoudre les hôtes et les ports |
-l | Affiche uniquement les sockets d'écoute |
-p | Affiche le PID et le nom du programme |
-r | Affiche la table de routage |
-i | Affiche les statistiques d'interface réseau |
-s | Affiche les statistiques de protocole |
Exemples de base
- Voir toutes les connexions actives
netstat -a
- Afficher toutes les connexions TCP
netstat -at
- Afficher les ports d'écoute avec des informations sur le programme
sudo netstat -tulnp
Cette combinaison populaire affiche :
-t
: connexions TCP-u
: connexions UDP-l
: uniquement les ports d'écoute-n
: adresses numériques-p
: informations sur le programme
- Vérifier la table de routage
netstat -r
- Voir les statistiques d'interface
netstat -i
Comprendre la sortie
Une sortie typique de netstat comprend plusieurs colonnes :
- Proto: Protocole (TCP, UDP)
- Recv-Q: Données en attente de réception
- Send-Q: Données en attente d'envoi
- Local Address: Point de terminaison local de la connexion
- Foreign Address: Point de terminaison distant de la connexion
- State: État de la connexion (LISTEN, ESTABLISHED, etc.)
Exemple de sortie lors de l'utilisation de netstat -tan
:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.5:22 192.168.1.100:52614 ESTABLISHED
Fonctionnalités et options clés
Options d'affichage
Lister toutes les connexions
La commande netstat offre diverses façons de lister les connexions réseau en fonction de vos besoins spécifiques :
- Afficher tous les protocoles avec des adresses numériques
netstat -an
- Afficher des informations étendues
netstat -ae
Cela ajoute des informations supplémentaires comme l'utilisateur et l'inode.
- Afficher les informations de temporisation
netstat -o
Ajoute des informations de temporisation utiles pour le dépannage.
Affichage spécifique au protocole
- TCP uniquement
# Afficher toutes les connexions TCP, y compris les ports d'écoute
netstat -at
# Afficher uniquement les ports TCP d'écoute
netstat -lt
- UDP uniquement
# Afficher toutes les connexions UDP
netstat -au
# Afficher uniquement les ports UDP d'écoute
netstat -lu
- Sockets de domaine Unix
# Afficher les sockets de domaine Unix
netstat -x
Options de format de sortie
Affichage numérique
# Sortie entièrement numérique (sans résolution de nom)
netstat -n
# Combiner avec d'autres options
netstat -ant # Connexions TCP avec adresses numériques
Avantages de l'affichage numérique :
- Exécution plus rapide
- Pas de recherches DNS
- Plus fiable en cas de problèmes DNS
Affichage d'informations étendues
# Afficher les informations sur le processus
sudo netstat -p
# Afficher les informations sur l'utilisateur et le processus
sudo netstat -ep
# Afficher les statistiques d'interface réseau avec des informations étendues
netstat -ie
Affichage continu
# Mettre à jour toutes les 2 secondes
netstat -c
# Combiner avec d'autres options pour une surveillance continue
netstat -ct # Surveillance continue des TCP
Affichage des statistiques
- Statistiques de protocole
# Afficher les statistiques récapitulatives pour tous les protocoles
netstat -s
# Afficher uniquement les statistiques TCP
netstat -st
# Afficher uniquement les statistiques UDP
netstat -su
- Statistiques d'interface
# Afficher les statistiques d'interface
netstat -i
# Afficher des informations d'interface étendues
netstat -ie
Exemple de sortie des statistiques d'interface :
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 158426 0 0 0 88573 0 0 0 BMRU
lo 65536 24846 0 0 0 24846 0 0 0 LRU
Où :
- RX: Statistiques de réception
- TX: Statistiques de transmission
- OK: Paquets réussis
- ERR: Compte d'erreurs
- DRP: Paquets abandonnés
- OVR: Événements de dépassement
Cas d'utilisation courants
Dépannage réseau
Vérification des ports ouverts
- Trouver tous les ports ouverts sur le système
sudo netstat -tulpn | grep LISTEN
Cette commande aide à identifier :
- Quels services sont en cours d'exécution
- Quels ports ils utilisent
- Quels processus possèdent ces ports
- Vérifier si un port spécifique est utilisé
sudo netstat -tulpn | grep ":80" # Vérifier le serveur web
sudo netstat -tulpn | grep ":3306" # Vérifier MySQL
Identifier les connexions actives
- Surveiller les connexions actuelles
# Afficher toutes les connexions établies
netstat -nat | grep ESTABLISHED
# Compter les connexions par adresse IP
netstat -nat | grep ESTABLISHED | awk '{print $5}' | cut -d: -f1 | sort | uniq -c
- Suivre les états de connexion
# Voir la distribution des états de connexion
netstat -ant | awk '{print $6}' | sort | uniq -c
Surveiller le trafic réseau
- Analyse du trafic d'interface
# Surveiller les statistiques d'interface en temps réel
netstat -i
watch -n 1 "netstat -i"
- Surveillance spécifique au protocole
# Surveiller les statistiques de trafic TCP
netstat -st
# Surveiller les statistiques de trafic UDP
netstat -su
Analyse de sécurité
Trouver des connexions suspectes
- Détecter des ports inhabituels
# Lister tous les ports d'écoute non standards
sudo netstat -tulpn | grep -v ":22\|:80\|:443"
- Vérifier les modèles de connexion suspects
# Rechercher des connexions provenant d'IP inattendues
netstat -ant | grep ESTABLISHED | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn
Détection de balayage de ports
# Rechercher plusieurs tentatives de connexion
netstat -ant | grep SYN_RECV | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
Audit système
- Vérification des services
# Vérifier quels processus écoutent sur quels ports
sudo netstat -tulpn | grep LISTEN | sort -k 4
- Journalisation des connexions
# Créer un journal simple des connexions
while true; do
date >> connection_log.txt
netstat -ant >> connection_log.txt
sleep 60
done
- Surveillance de l'utilisation des ressources
# Surveiller le nombre de connexions par service
netstat -ant | grep ESTABLISHED | awk '{print $4}' | cut -d: -f2 | sort | uniq -c
Scénarios de dépannage courants
- Problèmes de serveur web
# Vérifier les connexions du serveur web
sudo netstat -ant | grep ":80\|:443" | awk '{print $6}' | sort | uniq -c
- Problèmes de connexion à la base de données
# Surveiller les connexions à la base de données (exemple MySQL)
sudo netstat -ant | grep :3306 | awk '{print $6}' | sort | uniq -c
- Analyse du serveur de messagerie
# Vérifier les connexions du serveur de messagerie
sudo netstat -ant | grep ":25\|:465\|:587" | awk '{print $6}' | sort | uniq -c
Utilisation avancée
Combinaison avec d'autres commandes
Utilisation avec grep et awk
- Filtrage et analyse complexes
# Compter les connexions par état et port
netstat -ant | awk '{print $6, $4}' | sort | uniq -c | sort -rn
# Surveiller les connexions d'un service spécifique au fil du temps
watch -n 1 'netstat -ant | grep ":80" | wc -l'
- Analyse avancée des connexions
# Créer un résumé des connexions
netstat -ant | \
awk '{ip[$5]++} END {for (i in ip) print ip[i],i}' | \
sort -nr | head -n 10
Piping vers d'autres outils
# Utilisation avec tee pour la journalisation
netstat -ant | tee network_status.log
# Utilisation avec xargs pour la gestion des processus
netstat -tulpn | grep LISTEN | awk '{print $7}' | cut -d/ -f1 | xargs ps -f
Scripts et automatisation
Script de surveillance de base
#!/bin/bash
LOG_FILE="/var/log/network_monitor.log"
monitor_connections() {
echo "=== Rapport d'état du réseau ===" >> $LOG_FILE
date >> $LOG_FILE
echo "Connexions actives :" >> $LOG_FILE
netstat -ant | grep ESTABLISHED | wc -l >> $LOG_FILE
echo "Ports d'écoute :" >> $LOG_FILE
netstat -tulpn | grep LISTEN >> $LOG_FILE
echo "=========================" >> $LOG_FILE
}
# Exécuter toutes les 5 minutes
while true; do
monitor_connections
sleep 300
done
Script d'analyse avancée
#!/bin/bash
analyze_network() {
echo "=== Analyse du réseau ==="
echo -e "\nTop 10 des connexions IP :"
netstat -ant | grep ESTABLISHED | \
awk '{print $5}' | cut -d: -f1 | \
sort | uniq -c | sort -rn | head -n 10
echo -e "\nÉtats des connexions :"
netstat -ant | awk '{print $6}' | \
sort | uniq -c | sort -rn
echo -e "\nUtilisation des ports :"
netstat -ant | awk '{print $4}' | \
cut -d: -f2 | sort | uniq -c | sort -rn | head -n 10
}
# Sauvegarder dans un fichier avec un horodatage
analyze_network | tee -a "network_analysis_$(date +%Y%m%d_%H%M%S).log"
Surveillance des performances
Suivi de l'utilisation des ressources
- Impact sur le CPU et la mémoire
# Surveiller l'utilisation des ressources de netstat
while true; do
ps aux | grep netstat | grep -v grep
sleep 1
done
- Performance de l'interface réseau
#!/bin/bash
# Surveiller le débit de l'interface
INTERVAL=1
INTERFACE="eth0"
while true; do
R1=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
T1=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)
sleep $INTERVAL
R2=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
T2=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)
RBPS=$(( ($R2 - $R1) / $INTERVAL ))
TBPS=$(( ($T2 - $T1) / $INTERVAL ))
echo "Interface $INTERFACE :"
echo "RX: $(($RBPS/1024)) Ko/s"
echo "TX: $(($TBPS/1024)) Ko/s"
echo "------------------------"
done
Solutions de surveillance à long terme
#!/bin/bash
# Créer un rapport statistique réseau horaire
LOGDIR="/var/log/netstat_reports"
mkdir -p $LOGDIR
generate_report() {
TIMESTAMP=$(date +%Y%m%d_%H)
REPORT="$LOGDIR/netstat_report_$TIMESTAMP.log"
echo "Rapport réseau - $(date)" > $REPORT
echo "=========================" >> $REPORT
echo "Résumé des connexions :" >> $REPORT
netstat -s >> $REPORT
echo "Statistiques d'interface :" >> $REPORT
netstat -i >> $REPORT
echo "Connexions actuelles :" >> $REPORT
netstat -ant >> $REPORT
}
# Exécuter la génération de rapport
generate_report
Conseils d'intégration
- Combinaison avec la surveillance système
# Ajouter aux scripts de surveillance système
if [ $(netstat -ant | grep ESTABLISHED | wc -l) -gt 100 ]; then
echo "Nombre élevé de connexions détecté" | mail -s "Alerte réseau" [email protected]
fi
- Fonctions de rapport personnalisées
network_summary() {
local port="$1"
echo "Connexions sur le port $port :"
netstat -ant | grep ":$port" | awk '{print $6}' | sort | uniq -c
}
# Utilisation : network_summary 80
Alternatives à netstat
La commande ss
ss
(Socket Statistics) est le remplacement moderne de netstat dans les systèmes Linux. Il est généralement plus rapide et plus riche en fonctionnalités que netstat.
Avantages clés de ss
- Exécution plus rapide, surtout sur les systèmes avec de nombreuses connexions
- Informations de socket plus détaillées
- Meilleur support pour les protocoles plus récents
- Moins d'utilisation des ressources système
Comparaison avec netstat
# Commande netstat vs équivalent ss
# Lister toutes les connexions
netstat -a
ss
# Afficher les ports TCP d'écoute
netstat -tln
ss -tln
# Afficher les informations sur le processus
netstat -p
ss -p
# Afficher les statistiques
netstat -s
ss -s
Exemple d'utilisation de ss
# Afficher des informations détaillées sur les sockets
ss -i
# Afficher les informations de temporisation
ss -o
# Afficher l'utilisation de la mémoire
ss -m
# Filtrer par état
ss state established
# Filtrer par port
ss sport = :80
Alternatives modernes
lsof (List Open Files)
# Afficher les connexions réseau
lsof -i
# Afficher les ports d'écoute
lsof -i -P -n | grep LISTEN
# Afficher les connexions établies
lsof -i | grep ESTABLISHED
nmap
# Scanner les ports ouverts
nmap localhost
# Scan de port détaillé
nmap -sV localhost
iptraf-ng
- Moniteur de trafic IP en temps réel
- Statistiques détaillées sur les protocoles
- Statistiques d'interface
- Moniteur de stations LAN
Quand utiliser quoi
Utilisez netstat lorsque :
- Vous travaillez sur des systèmes plus anciens
- Vous avez besoin de compatibilité multiplateforme
- Vous suivez une documentation établie
- Vous exécutez des diagnostics réseau simples
Utilisez ss lorsque :
- Vous travaillez sur des systèmes Linux modernes
- Vous avez besoin d'une exécution plus rapide
- Vous traitez de nombreuses connexions
- Vous avez besoin d'informations détaillées sur les sockets
Utilisez lsof lorsque :
- Vous devez voir des informations sur les descripteurs de fichiers
- Vous souhaitez corréler les connexions réseau avec les processus
- Vous dépannez des problèmes d'application
Utilisez nmap lorsque :
- Vous effectuez des audits de sécurité
- Vous avez besoin d'un scan de port détaillé
- Vous analysez des services réseau
Guide de migration
Passer de netstat à ss
Commande netstat | Équivalent ss | Description |
---|---|---|
netstat -t | ss -t | Afficher les connexions TCP |
netstat -u | ss -u | Afficher les connexions UDP |
netstat -l | ss -l | Afficher les sockets d'écoute |
netstat -p | ss -p | Afficher les informations sur le processus |
netstat -n | ss -n | Ne pas résoudre les noms |
netstat -a | ss | Afficher tous les sockets |
netstat -r | ip route | Afficher la table de routage |
Exemple de migration de script
# Ancien script netstat
#!/bin/bash
netstat -tulpn | grep LISTEN > listening_ports.log
# Nouvel équivalent ss
#!/bin/bash
ss -tulpn | grep LISTEN > listening_ports.log
Conseils de sélection d'outils
- Considérations de performance
- Pour les systèmes à grande échelle : Utilisez
ss
- Pour des vérifications de base : Les deux outils fonctionnent bien
- Pour une analyse détaillée : Combinez plusieurs outils
- Problèmes de compatibilité
# Vérifier si ss est disponible
if command -v ss >/dev/null 2>&1; then
ss -tulpn
else
netstat -tulpn
fi
- Exigences fonctionnelles
- Surveillance de base : netstat/ss
- Analyse de sécurité : nmap
- Corrélation des processus : lsof
- Surveillance en temps réel : iptraf-ng
Meilleures pratiques et conseils
Considérations de performance
Optimiser l'utilisation des commandes
- Utilisez la sortie numérique lorsque c'est possible
# Plus lent (avec résolution DNS)
netstat -ta
# Plus rapide (sans résolution DNS)
netstat -tan
- Limiter la taille de la sortie
# Au lieu d'afficher toutes les connexions
netstat -a
# Filtrer pour des informations spécifiques
netstat -an | grep ':80'
- Éviter le polling continu
# Pas recommandé pour les systèmes chargés
netstat -c
# Meilleure approche avec un intervalle contrôlé
while true; do
netstat -an | grep ESTABLISHED
sleep 5
done
Pièges courants
Problèmes d'utilisation des ressources
- Problème : Utilisation excessive du CPU lors de la résolution de noms
# Commande problématique
watch -n 1 'netstat -ta'
# Meilleure alternative
watch -n 1 'netstat -tan'
Problèmes de permission
- Problème : Informations sur le processus manquantes
# Affichera des informations incomplètes
netstat -p
# Utilisation correcte
sudo netstat -p
Interprétation de la sortie
- Problème : Mauvaise interprétation des états de connexion
# Malentendu courant avec TIME_WAIT
netstat -ant | grep TIME_WAIT
# Meilleure analyse avec contexte
netstat -ant | awk '{print $6}' | sort | uniq -c
Conseils pour une utilisation quotidienne
Création d'alias utiles
# Ajouter à ~/.bashrc
alias ns='netstat -tulpn'
alias nsc='netstat -ant | grep ESTABLISHED'
alias nsl='sudo netstat -tulpn | grep LISTEN'
Vérifications de sécurité rapides
# Vérifier les ports d'écoute inhabituels
check_ports() {
echo "Ports connus :"
sudo netstat -tulpn | grep -E ':22|:80|:443'
echo -e "\nPorts inconnus :"
sudo netstat -tulpn | grep -vE ':22|:80|:443'
}
Modèles de surveillance
# Modèle de surveillance des connexions
monitor_connections() {
local port=$1
local threshold=$2
count=$(netstat -an | grep ":$port" | grep ESTABLISHED | wc -l)
if [ $count -gt $threshold ]; then
echo "Alerte : $count connexions sur le port $port dépassent le seuil de $threshold"
fi
}
# Utilisation : monitor_connections 80 100
Documentation et journalisation
Création de journaux utiles
#!/bin/bash
# Journaliseur d'état du réseau
log_network_status() {
local logfile="/var/log/network_status.log"
local timestamp=$(date '+%Y-%m-%d %H:%M:%S')
{
echo "=== État du réseau à $timestamp ==="
echo "Ports d'écoute :"
netstat -tulpn | grep LISTEN
echo "Connexions actuelles :"
netstat -ant | awk '{print $6}' | sort | uniq -c
echo "=================================="
} >> "$logfile"
}
Procédures opérationnelles standard
# Modèle pour des vérifications régulières
daily_network_check() {
echo "1. Vérification des ports d'écoute..."
sudo netstat -tulpn | grep LISTEN
echo "2. Vérification des connexions établies..."
netstat -ant | grep ESTABLISHED | wc -l
echo "3. Vérification des états de connexion..."
netstat -ant | awk '{print $6}' | sort | uniq -c
echo "4. Vérification des statistiques d'interface..."
netstat -i
}
Directives de dépannage
- Problèmes de connexion
connection_troubleshoot() {
local port=$1
echo "=== Dépannage de la connexion pour le port $port ==="
echo "1. Vérification si le port est à l'écoute :"
sudo netstat -tulpn | grep ":$port"
echo "2. Vérification des connexions actives :"
netstat -ant | grep ":$port" | awk '{print $6}' | sort | uniq -c
echo "3. Vérification des états de connexion :"
netstat -ant | grep ":$port" | awk '{print $6}' | sort | uniq -c
}
- Surveillance de l'utilisation des ressources
resource_check() {
echo "=== Vérification des ressources système ==="
echo "1. Total des connexions :"
netstat -ant | wc -l
echo "2. Connexions par IP :"
netstat -ant | grep ESTABLISHED | \
awk '{print $5}' | cut -d: -f1 | \
sort | uniq -c | sort -nr | head -5
echo "3. Utilisation de la mémoire des processus réseau :"
ps aux | grep -E 'netstat|ss' | grep -v grep
}
FAQ (Questions Fréquemment Posées)
Q : Pourquoi ne puis-je pas voir les informations sur le processus (PID) ?
R : Cela est généralement dû à des permissions. Exécutez la commande avec sudo :
sudo netstat -tulpn
L'option -p nécessite des privilèges root pour afficher les informations sur le processus.
Q : Quelle est la différence entre les états LISTEN et ESTABLISHED ?
R :
- LISTEN : Indique qu'un service écoute sur ce port, attendant des connexions
- ESTABLISHED : Représente une session active et actuellement connectée
Q : Comment vérifier les connexions pour un port spécifique ?
R : Vous pouvez utiliser grep pour filtrer les connexions spécifiques au port :
# Vérifier toutes les connexions sur le port 80
netstat -an | grep ":80"
# Vérifier uniquement les ports d'écoute
netstat -tunl | grep ":80"
Q : Pourquoi ma commande netstat s'exécute-t-elle lentement ?
R : Deux raisons principales :
1. Résolution DNS - Utilisez l'option -n pour éviter la résolution de noms
2. Trop de connexions - Utilisez le filtrage ou envisagez de passer à ss
# Exemple de commande plus rapide
netstat -tan | grep ESTABLISHED
Q : netstat affectera-t-il les performances du système ?
R : Un polling fréquent peut impacter les performances. Meilleures pratiques :
1. Augmenter les intervalles de polling
2. Utiliser le filtrage pour réduire la sortie
3. Envisager ss pour les systèmes à grande échelle
4. Éviter le mode continu (-c) sur les systèmes chargés
Q : Comment identifier quelle application utilise un port spécifique ?
R : Utilisez ces commandes :
# Afficher le processus utilisant le port 80
sudo netstat -tulpn | grep ":80"
# Alternative avec lsof
sudo lsof -i :80
Q : Comment surveiller les états de connexion ?
R : Plusieurs approches :
# Compter les connexions par état
netstat -ant | awk '{print $6}' | sort | uniq -c
# Surveiller les connexions établies
watch -n 1 'netstat -ant | grep ESTABLISHED | wc -l'
Q : Comment vérifier les connexions suspectes ?
R : Recherchez :
1. Ports inhabituels :
netstat -tulpn | grep -vE ':22|:80|:443'
2. Nombre élevé de connexions d'une seule IP :
netstat -ant | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
Q : Comment détecter les tentatives de balayage de ports ?
R : Surveillez les connexions SYN_RECV :
netstat -ant | grep SYN_RECV | awk '{print $5}' | cut -d: -f1 | sort | uniq -c
Q : Quelle est la différence entre les options -t et -u ?
R :
-t : Affiche uniquement les connexions TCP
-u : Affiche uniquement les connexions UDP
Vous pouvez les combiner :
netstat -tu : Affiche à la fois TCP et UDP
Q : Comment sauvegarder la sortie de netstat dans un fichier ?
R : Plusieurs méthodes :
# Sortie de base dans un fichier
netstat -ant > network_status.log
# Avec horodatage
(date; netstat -ant) > network_status.log
# Journalisation continue
while true; do
netstat -ant >> network_log.txt
sleep 300
done
Q : Que signifie "Adresse déjà utilisée" dans la sortie de netstat ?
R : Cela indique qu'un port est déjà utilisé par un autre processus. Pour le trouver :
sudo netstat -tulpn | grep "<numéro_de_port>"
Q : Pourquoi vois-je de nombreuses connexions TIME_WAIT ?
R : TIME_WAIT est normal après la fermeture des connexions. Cependant, trop de connexions peuvent indiquer :
1. Un taux de connexion élevé
2. Des problèmes réseau possibles
3. Une application qui ne réutilise pas les connexions
Surveillez avec :
netstat -ant | grep TIME_WAIT | wc -l