Connaître le nombre de connexions par adresse IP avec netstat
Voici une commande qui permet de connaître le nombre de connexions par adresse IP sur une machine Linux. Elle est basée sur netstat et permet de fournir des résultats pour les connexions entrantes et sortantes. Je vous conseille de la lancer en tant que root pour obtenir un résultat plus précis.
La commande :
netstat -pan | grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
Exemple de résultats :
1 192.168.0.12
4 192.168.0.14
8 192.168.0.6
2 192.168.0.67
8 Commentaires pour "Connaître le nombre de connexions par adresse IP avec netstat"
Flux des commentaires de cet article Ajouter un commentaireJ'ai eu dans mes résultats un ip : 0.0.0.0
Un bug ?
@Tuxargon : c'est pas un bug, j'ai la même chose. Il faut faire un peu le tri sur le résultat de cette commande dans certaine circonstance. Sinon, 0.0.0.0 désigne toutes les interfaces, donc toutes les adresses IP de la machine.
Pour ma part j'utilise plutôt cette commande ci pour les flood sur le port 80 :
netstat -atnp -A inet | grep ":80" | awk -F " " '{print $5} ' | awk -F ":" '{print $1}' | sort | uniq -c | sort -nr
Marche pas sur les netstats de BSD (enfin je dis BSD, mais j'utilise OSX, donc je suppose qu'il utilise celui de BSD)
disons qu'il faut juste enlever le p
l'option p sous osx c'est pour spécifier un port (-p tcp par exemple ;))
My two cents
Je suis un peu noob mais ça sert a quoi au juste ? A reperer d'éventuels rogues ?
@PiTiLeZarD : merci pour la précision. Je teste généralement mes commandes sur Linux et non UNIX. Il peut donc y avoir des différences et c'est bien de les remarquer.
@Goda : cela sert surtout dans le cas d'administration de serveurs. On peut ainsi repérer si il y a pas un nombre trop élevé de connexions sur une adresse IP.
Etant aussi un noob, autant sur linux que sur un ordinateur, j'ai effectuer la commande sur ma machine, mais elle m'a montré ceci:
"(Tous les processus ne peuvent être identifiés, les infos sur les processus
non possédés ne seront pas affichées, vous devez être root pour les voir toutes.)"
Que signifie être root?
Et 2ème questions: j'ai plusieurs IP ayant les 5 premiers chiffres identique c'est normal?
@Panda : Etre root c'est passer admin de sa machine. Pour passer root tu peux utliser sudo
ex: sudo netstat -pan | grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
Puis tu saisies ton mot de passe.