Christophe Casalegno

Sortie de BrainCnx 0.1

BrainCnx est un petit script écrit en perl, permettant de traiter un fichier de sortie de la commande netstat et d’afficher le nombre de connexions par adresse ip cliente. BrainCnx peut s’utiliser pour afficher le nombre de connexions pour chaque adresse ip ou bien uniquement les adresses ip affichant un nombre de connexions > x. Ce script est particulièrement utile pour détecter un nombre de connexions anormal généré par une même adresse.

Utilisation : perl braincnx.pl [nombre minimum de connexions]

Exemple : netstat -tanpu > cnx.txt && perl braincnx.pl 20 cnx.txt

IP : 192.168.43.171 -> 42
IP : 192.168.206.14 -> 36
IP : 192.168.139.170 -> 46
IP : 192.168.113.211 -> 36

Télécharger BrainCnx : BrainCnx version 0.1

Christophe Casalegno
http://twitter.com/Brain_0verride

10 Comments

  1. christophe.casalegno · novembre 6, 2010 at 11:13 · Répondre

    Merci !

  2. C’est curieu, il me semble avoir posté un commentaire vers 16h30, mais il n’est plus là…

    Je disais donc:

    pas besoins de sortie perl pour ça (c’est pas forcément dans le coin)
    je propose ceci:

    http://paste.zecrazytux.net/06-11_16%3a10-watchleechers.html

  3. je propose:

    http://paste.zecrazytux.net/06-11_16:10-watchleechers.html

    ça peut tenir en un oneliner, mais c’est plus pratique d’avoir ça dans le .shrc

    fonction parametrable avec le nombre de connection minimum, par défaut 10,
    et un filtre, par défaut ‘:80 ‘. Mais peut très bien être utilisé avec d’autres ports ou autre

    et pas besoins de dégainer perl pour ça ;)

  4. christophe.casalegno · novembre 4, 2010 at 11:42 · Répondre

    ok vu ça marche si je remplace le 4 par un t dans la commande netstat. Par contre est ce qu’il est possible de préciser le nombre de connexions minimales souhaitées, et par exemple afficher uniquement les adresses ip ouvrant plus de 30 connexions ? Merci !

  5. christophe.casalegno · novembre 4, 2010 at 11:38 · Répondre

    Je regarde ton lien :)

  6. Ha, et le séparateur du cut n’est pas \ mais espace, le \ est là pour protéger l’espace du shell, et avant affichage en html, il y a 2 espaces entre \ et -f.

  7. Ton blog fait des saletés à ma ligne de commande, il enlève des espaces à des endroits cruciaux et tortures les quotes.

    Ça ça devrait mieux faire :
    http://vincent.riquer.fr/temp/watch-netstat

  8. christophe.casalegno · novembre 3, 2010 at 12:26 · Répondre

    Marche pas chez moi, même en corrigeant le 4 dans le netstat et le \ dans le cut par un -d « \ ». Tu fixes ? ;)

  9. watch ‘netstat -4apn | grep :80\ | awk « {print \$5 } » | cut -d\ -f 4 | sed s/[^[:digit:]]*\\\(\[.0-9\]\\+\\\):.*$/\\\1/ | sort -n | uniq -c | sort -nr -k 1,1′

    En temps réel :)

  10. Cool script !

Laisser un commentaire