J'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? Ainsi, il se rafraîchira une fois par minute (ou toute quantité de temps donnée, bien sûr). J'ai essayé de regarder:
watch -n 30 "netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n"
Mais cela a changé la sortie de nice list avec nombre de connexions en 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)
L'IP externe n'est donc pas affichée. Y a-t-il quelque chose que j'ai manqué?
Voici à quoi ressemble la sortie d'origine:
2 [IP ADDRESS]
4 [IP ADDRESS]
4 [IP ADDRESS]
4 [IP ADDRESS]
7 [IP ADDRESS]
16 [IP ADDRESS]
71 [IP ADDRESS]
Et quand je dis [LOCAL IP]
je veux dire l'IP de ma machine.
Lorsque je l'exécute, il se -c
fige.
Réponses:
peut vous aider si je n'ai pas mal compris votre problème. -c signifie --continuous.
EDIT: c'est parti:
J'ai ajouté un \ avant $.
la source
Exécutez simplement une boucle while qui dort pendant 60 secondes
Cela vous donnera la même sortie toutes les 60 secondes
la source