Troubleshooting
KB N°2627

Repérer les IP qui génèrent le plus de connexions

Versions: V.5.x V6.x
Publié le mardi 14 octobre 2014
Modifié le vendredi 4 mai 2018

Une des causes de ralentissement d'un proxy est le "spam" généré par une ou plusieurs adresses IP. Voici un script à exécuter en ligne de commande, qui permet de classer les adresses IP par nombre de connexions.

Contexte

Une des causes de ralentissement d'un proxy est le "spam" généré par une ou plusieurs adresses IP.

Par exemple, un logiciel X sur un poste client ne sait pas s'authentifier sur un proxy, il va essayer à l'infini de se connecter à Internet, engendrant un nombre de requêtes considérable, quelquefois à un rythme effrené. Cette pollution va impacter l'ensemble des performances réseau.

Voici un script à exécuter en ligne de commande, qui permet de classer les adresses IP par nombre de connexions.

Étapes

Étape 1

  1. Aller dans le chroot (ne concerne pas les box) :

    chroot /opt/olfeo5/chroot

  2. Aller dans le répertoire /root :

    cd /root

  3. Créer le script compter.py :
    #!/usr/bin/python
    
    import sys
    
    result = {}
    
    for access_line in sys.stdin:
    	ip = access_line.split()[2]
    	try:
    		result[ip] += 1
    	except KeyError:
    		result[ip] = 1
    
    result = result.items()
    
    result.sort(key=lambda a: a[1], reverse=True)
    
    
    somme = 0
    for ip, count in result:
    	print "%s\t%s" % (count, ip)
    	somme += count
    print "Total :", somme
  4. Sauvegarder et rendre ce script exécutable :

    chmod +x compter.py

Étape 2

  1. Exécuter le script :

    cat /opt/olfeo5/data/proxy/log/access.log | ./compter.py | less

    Pour la journée précédente :

    cat /opt/olfeo5/data/proxy/log/access.log.1 | ./compter.py | less

    On peut utiliser zcat pour les plus anciennes.

  2. Utiliser la touche "q" pour quitter le script.

Étape 3

Repérer les IP "spammeuses".

144041  86.5.43.50
1271    109.1.13.76
1245    214.94.9.221
939     212.18.8.52
804     192.25.216.1
343     8.17.160.2
199     10.27.5.5
156     94.13.49.35
132     8.12.5.7

On voit clairement que l'IP 86.5.43.50 est en décalage par rapport aux autres adresses.

Afin de déterminer la nature de la navigation, on lance :

grep 86.5.43.50 /opt/olfeo5/data/proxy/log/access.log | less

Utiliser la touche "q" pour quitter la commande.

Validation

Si le trafic considéré comme "spam" est bien illégitime, et que les mesures adéquates sont prises (bypass d'authentification via ACL squid, paramétrage ou désinstallation du logiciel etc.), le nombre de connexions par jour devrait revenir à la normale les jours suivants.

Avez-vous trouvé cet article utile ?
Revenir à la liste des articles
En visitant ce site, vous acceptez l'utilisation de cookies. Nous utilisons des cookies pour améliorer votre navigation sur notre site. En savoir plus.Ok