ajout des uploads massifs, si la mise en page vous plait paas on peut la
mofifier darcs-hash:20051027152048-4ec08-e68e85aacb9a8b3386cf92e70f7f755dc4bee222.gz
This commit is contained in:
parent
33196e37b6
commit
b3a3000b85
1 changed files with 75 additions and 52 deletions
|
@ -12,6 +12,8 @@ sys.path.append('/usr/scripts/gestion')
|
||||||
from config import p2p
|
from config import p2p
|
||||||
import smtplib
|
import smtplib
|
||||||
import socket
|
import socket
|
||||||
|
from analyse import stats
|
||||||
|
|
||||||
|
|
||||||
###############################
|
###############################
|
||||||
# Ouverture des connections : #
|
# Ouverture des connections : #
|
||||||
|
@ -34,13 +36,12 @@ curseur.execute(requete)
|
||||||
hard = curseur.fetchall()
|
hard = curseur.fetchall()
|
||||||
liste_upload=""
|
liste_upload=""
|
||||||
for i in range(0,len(hard)):
|
for i in range(0,len(hard)):
|
||||||
IP=hard[i][0]
|
IP=hard[i][0]
|
||||||
hostname = socket.gethostbyaddr("%s"%IP)[0]
|
hostname = socket.gethostbyaddr("%s"%IP)[0]
|
||||||
upload = round((hard[i][1]),2)
|
upload = round((hard[i][1]),2)
|
||||||
download = round((hard[i][2]),2)
|
download = round((hard[i][2]),2)
|
||||||
liste_upload += "%10s%10s\t%s\n"%(str(upload),str(download),str(hostname))
|
liste_upload += "%10s%10s\t%s\n"%(str(upload),str(download),str(hostname))
|
||||||
|
|
||||||
liste_upload
|
|
||||||
|
|
||||||
# Upload exemptés :
|
# Upload exemptés :
|
||||||
###################
|
###################
|
||||||
|
@ -50,30 +51,30 @@ curseur.execute(requete)
|
||||||
exemptes = curseur.fetchall()
|
exemptes = curseur.fetchall()
|
||||||
liste_exemptes=""
|
liste_exemptes=""
|
||||||
for i in range(0,len(exemptes)):
|
for i in range(0,len(exemptes)):
|
||||||
IP=exemptes[i][0]
|
IP=exemptes[i][0]
|
||||||
hostname = socket.gethostbyaddr("%s"%IP)[0]
|
hostname = socket.gethostbyaddr("%s"%IP)[0]
|
||||||
upload=round(exemptes[i][1],2)
|
upload=round(exemptes[i][1],2)
|
||||||
download=round(exemptes[i][2],2)
|
download=round(exemptes[i][2],2)
|
||||||
liste_exemptes=liste_exemptes+"%10s%10s\t%s\n"%(str(upload),str(download),str(hostname))
|
liste_exemptes=liste_exemptes+"%10s%10s\t%s\n"%(str(upload),str(download),str(hostname))
|
||||||
|
|
||||||
|
|
||||||
# Upload des serveurs :
|
# Upload des serveurs :
|
||||||
#######################
|
#######################
|
||||||
liste_serveurs=""
|
liste_serveurs=""
|
||||||
for i in (10,1,3,4,7,8,9,11):
|
for i in (10,1,3,4,7,8,9,11):
|
||||||
IP='138.231.136.'+str(i)
|
IP='138.231.136.'+str(i)
|
||||||
hostname = socket.gethostbyaddr("%s"%IP)[0]
|
hostname = socket.gethostbyaddr("%s"%IP)[0]
|
||||||
requete = "SELECT sum(upload)/1024/1024,sum(download)/1024/1024 FROM upload WHERE ip_crans='%s' AND date > timestamp 'now' - interval '1 day' "%IP
|
requete = "SELECT sum(upload)/1024/1024,sum(download)/1024/1024 FROM upload WHERE ip_crans='%s' AND date > timestamp 'now' - interval '1 day' "%IP
|
||||||
curseur.execute(requete)
|
curseur.execute(requete)
|
||||||
traffic=curseur.fetchall()
|
traffic=curseur.fetchall()
|
||||||
try :
|
try :
|
||||||
round(traffic[0][0],2)
|
round(traffic[0][0],2)
|
||||||
except TypeError:
|
except TypeError:
|
||||||
print "Pas d'upload ou download"
|
print "Pas d'upload ou download depuis %s" % hostname
|
||||||
else :
|
else :
|
||||||
upload=round(traffic[0][0],2)
|
upload=round(traffic[0][0],2)
|
||||||
download=round(traffic[0][1],2)
|
download=round(traffic[0][1],2)
|
||||||
liste_serveurs += "%10s%10s\t%s\n"%(str(upload),str(download),str(hostname))
|
liste_serveurs += "%10s%10s\t%s\n"%(str(upload),str(download),str(hostname))
|
||||||
|
|
||||||
|
|
||||||
# Machines infectées :
|
# Machines infectées :
|
||||||
|
@ -83,13 +84,13 @@ curseur.execute(requete)
|
||||||
infections = curseur.fetchall()
|
infections = curseur.fetchall()
|
||||||
liste_virus=""
|
liste_virus=""
|
||||||
for i in range(1,len(infections)):
|
for i in range(1,len(infections)):
|
||||||
IP=infections[i][0]
|
IP=infections[i][0]
|
||||||
print IP
|
print 'Machine infectée %s' % IP
|
||||||
try:
|
try:
|
||||||
hostname = socket.gethostbyaddr("%s"%IP)[0]
|
hostname = socket.gethostbyaddr("%s"%IP)[0]
|
||||||
except socket.herror:
|
except socket.herror:
|
||||||
continue
|
continue
|
||||||
liste_virus+="%s\n"%(str(hostname))
|
liste_virus+="%s\n"%(str(hostname))
|
||||||
|
|
||||||
|
|
||||||
# Machines utilisant des protocoles P2P :
|
# Machines utilisant des protocoles P2P :
|
||||||
|
@ -99,15 +100,33 @@ curseur.execute(requete)
|
||||||
p2p = curseur.fetchall()
|
p2p = curseur.fetchall()
|
||||||
liste_p2p=""
|
liste_p2p=""
|
||||||
for i in range(0,len(p2p)):
|
for i in range(0,len(p2p)):
|
||||||
IP=p2p[i][0]
|
IP=p2p[i][0]
|
||||||
protocole = p2p[i][1]
|
protocole = p2p[i][1]
|
||||||
hostname = socket.gethostbyaddr("%s"%IP)[0]
|
hostname = socket.gethostbyaddr("%s"%IP)[0]
|
||||||
requete = "SELECT COUNT(ip_src) from p2p where date > timestamp 'now' - interval '1 day' and ip_src='%s'"%IP
|
requete = "SELECT COUNT(ip_src) from p2p where date > timestamp 'now' - interval '1 day' and ip_src='%s'"%IP
|
||||||
curseur.execute(requete)
|
curseur.execute(requete)
|
||||||
paquets=curseur.fetchall()
|
paquets=curseur.fetchall()
|
||||||
liste_p2p+="%10s\t%20s\t%s\n"%(str(protocole),str(hostname),str(paquets[0][0]))
|
liste_p2p+="%10s\t%20s\t%s\n"%(str(protocole),str(hostname),str(paquets[0][0]))
|
||||||
|
|
||||||
|
|
||||||
|
# statistiques des gros uploads depuis les serveurs
|
||||||
|
###################################################
|
||||||
|
# liste des seveur à controler :
|
||||||
|
# - nom du serveur
|
||||||
|
# - adresse IP
|
||||||
|
# - upload mini critique
|
||||||
|
# - nombre max de lignes à afficher
|
||||||
|
serveurs = [['Zamok','138.231.136.1',30,20],
|
||||||
|
['Rouge','138.231.136.3',30,20],
|
||||||
|
['Sila','138.231.136.10',1000,20]]
|
||||||
|
|
||||||
|
gros_uploads_des_serveurs = ""
|
||||||
|
for serveur in serveurs :
|
||||||
|
titre = "Gros upload depuis %s" % serveur[0]
|
||||||
|
gros_uploads_des_serveurs += titre + '\n' + '-'*len(titre) + '\n\n'
|
||||||
|
gros_uploads_des_serveurs += stats(ip_crans=serveur[1],group=['ip_ext'],upload_mini=serveur[2],limit=serveur[3]).encode('iso-8859-15')
|
||||||
|
gros_uploads_des_serveurs += "\n\n"
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# Message : #
|
# Message : #
|
||||||
#############
|
#############
|
||||||
|
@ -122,7 +141,7 @@ Bilan des d
|
||||||
|
|
||||||
|
|
||||||
Machines infectées pour virus :
|
Machines infectées pour virus :
|
||||||
-----------------------------
|
-------------------------------
|
||||||
%(liste_virus)s
|
%(liste_virus)s
|
||||||
|
|
||||||
|
|
||||||
|
@ -133,7 +152,7 @@ Machines utilisant des protocoles P2P (Nb de paquets par 24 heures) :
|
||||||
|
|
||||||
|
|
||||||
Statistiques d'upload -- download :
|
Statistiques d'upload -- download :
|
||||||
---------------------------------
|
-----------------------------------
|
||||||
%(liste_upload)s
|
%(liste_upload)s
|
||||||
|
|
||||||
|
|
||||||
|
@ -145,19 +164,23 @@ Statistiques d'upload -- download des serveurs :
|
||||||
------------------------------------------------
|
------------------------------------------------
|
||||||
%(liste_serveurs)s
|
%(liste_serveurs)s
|
||||||
|
|
||||||
|
|
||||||
|
%(gros_uploads_des_serveurs)s
|
||||||
|
|
||||||
--
|
--
|
||||||
statistiques.py
|
statistiques.py
|
||||||
"""
|
"""
|
||||||
#print p2p.tag
|
#print p2p.tag
|
||||||
|
|
||||||
corps = message %{'From':expediteur,
|
corps = message %{'From':expediteur,
|
||||||
'To':destinataire,
|
'To':destinataire,
|
||||||
'liste_upload':liste_upload,
|
'liste_upload':liste_upload,
|
||||||
'liste_p2p':liste_p2p,
|
'liste_p2p':liste_p2p,
|
||||||
'liste_virus':liste_virus,
|
'liste_virus':liste_virus,
|
||||||
'liste_exemptes':liste_exemptes,
|
'liste_exemptes':liste_exemptes,
|
||||||
'liste_serveurs':liste_serveurs,
|
'liste_serveurs':liste_serveurs,
|
||||||
'seuil':5}
|
'gros_uploads_des_serveurs':gros_uploads_des_serveurs,
|
||||||
|
'seuil':5}
|
||||||
|
|
||||||
#corps = corps.encode('iso 8859-15')
|
#corps = corps.encode('iso 8859-15')
|
||||||
mail.sendmail('disconnect@crans.org','disconnect@crans.org',corps)
|
mail.sendmail('disconnect@crans.org','disconnect@crans.org',corps)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue