1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- ###########################################################
- # Port Scanner
- # Cuenta total de puertos desinatarios por cada sip
- # Despliega lista de puertos por cada destination ip
- ############################################################
- from silk import *
-
-
- startDate = "2009/04/20"
- endDate = "2009/04/22"
- minPort = 20
- maxPort = 60000
- counter = 0
-
- def UltimoAnalisis():
- sampleHash = {}
- flow_Counter = 0
- for filename in FGlob(classname="all", type="all", start_date=startDate, end_date=endDate, site_config_file="/data/silk.conf", data_rootdir="/data"):
- for rec in silkfile_open(filename, READ):#reading the flow file
- flow_Counter +=1
- dport = rec.dport
- posA = str(rec.dip)
- # print posA, dport
- if (dport >= 1 and dport < minPort) or dport > maxPort: #verifica que sean puertos validos (creo que se dice asi)
- # print "Im here"
- continue
- else: # Como es el caso de la ultima busqueda, se agrega una lista de los puertos
- if posA in sampleHash:
- sampleHash[posA].append(dport)
- else:
- sampleHash[posA] = [dport]
- #print sampleHash
- #print flow_Counter
- return sampleHash
-
- dip_hash = UltimoAnalisis()
- #print dip_hash
- otherHash = {} #Se borra el hash para agregar elementos nuevos con la nueva etapa de la busqueda
- for dips, dports in dip_hash.items():
- if len(dports)>= 100: #si la cantidad de puertos es mayor o igual a 100, nos interesan
- #y por lo tanto se guardan en un hash
- otherHash[dips] = dports
-
-
- for dips, dports in otherHash.items():
- counter +=1 #para contar los elementos del hash
-
- #print otherHash
-
- #print counter
|