29 votes

Actualiser en continu Netstat (surveiller les changements de sortie)

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.

36voto

hcg Points 466
netstat -c

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

EDIT: voici:

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

J'ai ajouté un \ avant $.

5voto

Iceberg Points 131

La recherche de commandes pour MacOS aboutit ici. Pour les utilisateurs de Mac qui veulent 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 filaire...

nettop -t wifi -n -p 60683

4voto

karolszafranski Points 111

Surveiller Ubuntu 18.04 LTS, cela a bien fonctionné. Il affiche une sortie facile à lire pour l'homme.

sudo netstat -tupnc

1voto

Chris Alderson Points 56

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

0voto

Vous pouvez utiliser l'intervalle netstat (en secondes) il rafraîchit la connexion active dans chaque intervalle par exemple, tapez dans cmd: netstat 5 -> cela signifie que toutes les 5 secondes, netstat s'exécute à nouveau jusqu'à ce que vous appuyiez sur Ctrl+C

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X