[deconnexion.py] On ne déconnecte plus pour Bittorrent
Maintenant ils reçoivent seulement un mail d'avertissement darcs-hash:20110307233611-ddb99-be4482514f3f841735ec695e36a8b45f63c878fc.gz
This commit is contained in:
parent
0339aea604
commit
acef69c7da
2 changed files with 81 additions and 1 deletions
|
@ -417,7 +417,7 @@ for IP in infectes:
|
|||
################################################################################
|
||||
|
||||
# Dans la table p2p on sélectionne les ip_src qui appartiennent au réseau
|
||||
requete = "SELECT ip_src,id_p2p,count(ip_src) FROM p2p WHERE %s AND date > timestamp 'now' - interval '2 hours' GROUP BY ip_src,id_p2p ORDER BY ip_src" % ip_src_in_crans
|
||||
requete = "SELECT ip_src,id_p2p,count(ip_src) FROM p2p WHERE %s AND date > timestamp 'now' - interval '2 hours' AND id_p2p != 1 GROUP BY ip_src,id_p2p ORDER BY ip_src" % ip_src_in_crans
|
||||
curseur.execute(requete)
|
||||
fraudeurs = curseur.fetchall()
|
||||
|
||||
|
@ -501,3 +501,50 @@ for ip, id_p2p, nombre in fraudeurs:
|
|||
'ps': fichier_ps }
|
||||
corps = corps.encode('utf-8')
|
||||
mail.sendmail(p2p.expediteur, p2p.expediteur, corps)
|
||||
|
||||
################################################################################
|
||||
# Gestion du bittorrent #
|
||||
################################################################################
|
||||
|
||||
# Dans la table p2p on sélectionne les ip_src qui appartiennent au réseau
|
||||
requete = "SELECT ip_src,count(ip_src) FROM p2p WHERE %s AND date > timestamp 'now' - interval '2 hours' AND id_p2p = 1 GROUP BY ip_src,id_p2p ORDER BY ip_src" % ip_src_in_crans
|
||||
curseur.execute(requete)
|
||||
fraudeurs = curseur.fetchall()
|
||||
|
||||
# Récupération des fraudeurs pour ne pas les avertir de nouveau
|
||||
requete = "SELECT ip_crans,protocole FROM avertis_p2p WHERE date > timestamp 'now' - interval '14 days'"
|
||||
curseur.execute(requete)
|
||||
avertisp2p = curseur.fetchall()
|
||||
|
||||
for ip, nombre in fraudeurs:
|
||||
# On récupére le protocole de p2p :
|
||||
protocole = 'Bittorrent'
|
||||
|
||||
# On ne prend pas en compte s'il est sous le seuil admis, ou
|
||||
#s'il est averti
|
||||
if nombre <= p2p.limite[protocole] or [ip, protocole] in avertisp2p:
|
||||
continue
|
||||
|
||||
# Récupération des ref de la machine
|
||||
machines = ldap.search('ipHostNumber=%s' % ip, 'w' )['machine']
|
||||
if len(machines) == 0:
|
||||
# La machine a ete supprimee entre temps
|
||||
continue
|
||||
machine = machines[0]
|
||||
hostname = machine.nom()
|
||||
proprio = machine.proprietaire()
|
||||
|
||||
# On envoie un mail a l'adhérent
|
||||
################################
|
||||
mail = connectsmtp()
|
||||
|
||||
corps = p2p.avertissement_bt % { 'From': p2p.expediteur,
|
||||
'To': proprio.email(),
|
||||
'protocole': protocole,
|
||||
'hostname': hostname }
|
||||
corps = corps.encode('utf-8')
|
||||
mail.sendmail(p2p.expediteur, proprio.email(), corps)
|
||||
|
||||
# Inscription dans la base des avertis
|
||||
requete = "INSERT INTO avertis_p2p (ip_crans,date,protocole) VALUES ('%s','now','%s')" % (ip, protocole)
|
||||
curseur.execute(requete)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue