Je utilise cette simple commande pour surveiller les connexions (pour faire face à certaines attaques DoS récentes) sur mon serveur Debian :
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
Comment puis-je l'exécuter en continu ? Afin qu'elle se rafraîchisse une fois par minute (ou à n'importe quel intervalle de temps donné, bien sûr). J'ai essayé watch :
watch -n 30 "netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n"
Mais cela a modifié la sortie en une liste désordonnée avec le nombre de connexions, pour quelque chose comme ceci :
1 tcp 0 10015 [LOCAL IP]
...
1 Proto Recv-Q Send-Q Local Address Foreign Address State
1 Active Internet connections (w/o servers)
Ainsi, l'adresse IP externe n'est pas affichée. Est-ce que j'ai raté quelque chose ?
Voici à quoi ressemble la sortie originale :
2 [IP ADDRESS]
4 [IP ADDRESS]
4 [IP ADDRESS]
4 [IP ADDRESS]
7 [IP ADDRESS]
16 [IP ADDRESS]
71 [IP ADDRESS]
Et lorsque je dis [LOCAL IP]
, je veux dire l'IP de ma machine.
Quand je l'exécute avec -c
, ça se fige simplement.