web-dev-qa-db-fra.com

Actualisation continue de Netstat (la montre modifie la sortie)

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 la liste Nice 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.

Quand je l'exécute avec -c il gèle juste.

19
Ruslan Osipov
netstat -c

peut vous aider si je n'ai pas mal compris votre problème. -c signifie --continuous.

EDIT: c'est parti:

watch -n 30 "netstat -ntu | awk '{print \$5}' | cut -d: -f1 | sort | uniq -c | sort -n"

J'ai ajouté un\avant $.

22
hcg

La recherche de commande pour macos se termine ici. Pour les utilisateurs Mac qui souhaitent voir les connexions en temps réel d'un processus:

nettop -p 60683

Vous pouvez également restreindre le type d'interface, comme le wifi ou le filaire ...

nettop -t wifi -n -p 60683
1
sully

Exécutez simplement une boucle while qui dort pendant 60 secondes

[root@Host] $ while true
> do
> netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
> sleep 60
> done

Cela vous donnera la même sortie toutes les 60 secondes

1
Chris Alderson