Преглед на файлове

Moving files to new folder

SaraBeatriz преди 6 години
родител
ревизия
28c244f064

Programas/Fedora/bruteforce_reduc_sip_threehash.py → Programas/Fedora/Three_Hash/bruteforce_reduc_sip_threehash.py Целия файл

@@ -1,75 +1,75 @@
1
-#Itera por sip /16 y cuenta numero de puertos por cada dip
2
-
3
-from silk import *
4
-
5
-
6
-startDate = "2009/04/20"
7
-endDate = "2009/04/22"
8
-#Para filtrar por puertos. Pero no queremos todavia
9
-#minPort = 20
10
-#maxPort = 5000
11
-
12
-
13
-def ipConversion(number, position):
14
-    mystr = ''
15
-    ipadd = number.split(".") #Devuelve un arreglo
16
-    for i in range(position+1):
17
-        if i ==position:
18
-            mystr = mystr + ipadd[i]
19
-        else:
20
-            mystr = mystr + ipadd[i] + '.'
21
-    return mystr #devuelve los numeros en notacion string
22
-
23
-
24
-
25
-def UltimoAnalisis(flowHash, num):
26
-    dportHash={}
27
-    flow_Counter=0
28
-    for filename in FGlob(classname="all", type="all", start_date=startDate, end_date=endDate, site_config_file="/data/silk.conf", data_rootdir="/data"):
29
-        for rec in silkfile_open(filename, READ):#reading the flow file
30
-            if (':' in str(rec.sip)) or (num != 0 and ipConversion(str(rec.sip), num-1) not in flowHash): #Si en el paso anterior se vio que no
31
-                                                                         #tiene el length de puertos requerido, se ignora
32
-                continue
33
-            else: #agrega a un hash cada puerto con un counter de sus destination ips
34
-                dip = str(rec.dip)
35
-                sip = ipConversion(str(rec.sip), num)
36
-                dport= rec.dport
37
-                if sip in dportHash:
38
-                    if dip in dportHash[sip]:
39
-                        if dport in dportHash[sip][dip]:
40
-                            dportHash[sip][dip][dport] += 1
41
-                        else:
42
-                            dportHash[sip][dip][dport] = 1
43
-                    else:
44
-                        dportHash[sip][dip] = {dport : 1}
45
-                else:
46
-                    dportHash[sip] = { dip: {dport: 1} }
47
-
48
-    #print flow_Counter
49
-    return dportHash
50
-
51
-#main
52
-
53
-myNum = 0
54
-otherHash = {}
55
-while myNum <4: #Se itera las cuatro veces de acuerdo con la notacion de ipv4
56
-    flowHash= UltimoAnalisis(otherHash, myNum)
57
-    otherHash = {} #Se borra el hash para agregar elementos nuevos con la nueva etapa de la busqueda
58
-    for sips in flowHash: #se itera por todos los dip y sus counters o puertos
59
-        for dips, dports in flowHash[sips].items():
60
-            if len(dports) >= 100: #si la cantidad de puertos es mayor o igual a 100, nos interesan
61
-                                    #y por lo tanto se guardan en un hash
62
-                if sips in otherHash:
63
-                    otherHash[sips][dips] = dports
64
-                else:
65
-                    otherHash[sips] = {dips: dports}
66
-    myNum += 1
67
-
68
-    #print (flowHash)
69
-
70
-counter = 0
71
-
72
-for dips, dports in otherHash.items():
73
-    counter +=1 #para contar los elementos del hash
74
-
75
-print counter
1
+#Itera por sip /16 y cuenta numero de puertos por cada dip
2
+
3
+from silk import *
4
+
5
+
6
+startDate = "2009/04/20"
7
+endDate = "2009/04/22"
8
+#Para filtrar por puertos. Pero no queremos todavia
9
+#minPort = 20
10
+#maxPort = 5000
11
+
12
+
13
+def ipConversion(number, position):
14
+    mystr = ''
15
+    ipadd = number.split(".") #Devuelve un arreglo
16
+    for i in range(position+1):
17
+        if i ==position:
18
+            mystr = mystr + ipadd[i]
19
+        else:
20
+            mystr = mystr + ipadd[i] + '.'
21
+    return mystr #devuelve los numeros en notacion string
22
+
23
+
24
+
25
+def UltimoAnalisis(flowHash, num):
26
+    dportHash={}
27
+    flow_Counter=0
28
+    for filename in FGlob(classname="all", type="all", start_date=startDate, end_date=endDate, site_config_file="/data/silk.conf", data_rootdir="/data"):
29
+        for rec in silkfile_open(filename, READ):#reading the flow file
30
+            if (':' in str(rec.sip)) or (num != 0 and ipConversion(str(rec.sip), num-1) not in flowHash): #Si en el paso anterior se vio que no
31
+                                                                         #tiene el length de puertos requerido, se ignora
32
+                continue
33
+            else: #agrega a un hash cada puerto con un counter de sus destination ips
34
+                dip = str(rec.dip)
35
+                sip = ipConversion(str(rec.sip), num)
36
+                dport= rec.dport
37
+                if sip in dportHash:
38
+                    if dip in dportHash[sip]:
39
+                        if dport in dportHash[sip][dip]:
40
+                            dportHash[sip][dip][dport] += 1
41
+                        else:
42
+                            dportHash[sip][dip][dport] = 1
43
+                    else:
44
+                        dportHash[sip][dip] = {dport : 1}
45
+                else:
46
+                    dportHash[sip] = { dip: {dport: 1} }
47
+
48
+    #print flow_Counter
49
+    return dportHash
50
+
51
+#main
52
+
53
+myNum = 0
54
+otherHash = {}
55
+while myNum <4: #Se itera las cuatro veces de acuerdo con la notacion de ipv4
56
+    flowHash= UltimoAnalisis(otherHash, myNum)
57
+    otherHash = {} #Se borra el hash para agregar elementos nuevos con la nueva etapa de la busqueda
58
+    for sips in flowHash: #se itera por todos los dip y sus counters o puertos
59
+        for dips, dports in flowHash[sips].items():
60
+            if len(dports) >= 100: #si la cantidad de puertos es mayor o igual a 100, nos interesan
61
+                                    #y por lo tanto se guardan en un hash
62
+                if sips in otherHash:
63
+                    otherHash[sips][dips] = dports
64
+                else:
65
+                    otherHash[sips] = {dips: dports}
66
+    myNum += 1
67
+
68
+    #print (flowHash)
69
+
70
+counter = 0
71
+
72
+for dips, dports in otherHash.items():
73
+    counter +=1 #para contar los elementos del hash
74
+
75
+print counter

Programas/bruteforce_reduc_threehash.py → Programas/Fedora/Three_Hash/bruteforce_reduc_threehash.py Целия файл

@@ -1,73 +1,73 @@
1
-#Itera a la vez el sip y el dip y guarda en un hash los puertos
2
-
3
-from silk import *
4
-
5
-
6
-startDate = "2009/04/20"
7
-endDate = "2009/04/22"
8
-#Para filtrar por puertos. Pero no queremos todavia
9
-#minPort = 20
10
-#maxPort = 5000
11
-
12
-
13
-def ipConversion(number, position):
14
-    mystr = ''
15
-    ipadd = number.split(".") #Devuelve un arreglo
16
-    for i in range(position+1):
17
-        if i ==position:
18
-            mystr = mystr + ipadd[i]
19
-        else:
20
-            mystr = mystr + ipadd[i] + '.'
21
-    return mystr #devuelve los numeros en notacion string
22
-
23
-
24
-def UltimoAnalisis(flowHash, num):
25
-    dportHash={}
26
-    flow_Counter=0
27
-    for filename in FGlob(classname="all", type="all", start_date=startDate, end_date=endDate, site_config_file="/data/silk.conf", data_rootdir="/data"):
28
-        for rec in silkfile_open(filename, READ):#reading the flow file
29
-            if (':' in str(rec.sip)) or (num != 0 and ipConversion(str(rec.sip), num-1) not in flowHash): #Si en el paso anterior se vio que no
30
-                                                                         #tiene el length de puertos requerido, se ignora
31
-                continue
32
-            else: #agrega a un hash cada puerto con un counter de sus destination ips
33
-                dip = ipConversion(str(rec.dip), num)
34
-                sip = ipConversion(str(rec.sip), num)
35
-                dport= rec.dport
36
-                if sip in dportHash:
37
-                    if dip in dportHash[sip]:
38
-                        if dport in dportHash[sip][dip]:
39
-                            dportHash[sip][dip][dport] += 1
40
-                        else:
41
-                            dportHash[sip][dip][dport] = 1
42
-                    else:
43
-                        dportHash[sip][dip] = {dport : 1}
44
-                else:
45
-                    dportHash[sip] = { dip: {dport: 1} }
46
-
47
-    #print flow_Counter
48
-    return dportHash
49
-
50
-
51
-#main
52
-
53
-myNum = 0
54
-otherHash = {}
55
-while myNum <4: #Se itera las cuatro veces de acuerdo con la notacion de ipv4
56
-    flowHash= UltimoAnalisis(otherHash, myNum)
57
-    otherHash = {} #Se borra el hash para agregar elementos nuevos con la nueva etapa de la busqueda
58
-    for sips in flowHash: #se itera por todos los dip y sus counters o puertos
59
-        for dips, dports in flowHash[sips].items():
60
-            if len(dports) >= 100: #si la cantidad de puertos es mayor o igual a 100, nos interesan
61
-                                    #y por lo tanto se guardan en un hash
62
-                if sips in otherHash:
63
-                    otherHash[sips][dips] = dports
64
-                else:
65
-                    otherHash[sips] = {dips: dports}
66
-    myNum += 1
67
-    print (otherHash)
68
-
69
-
70
-for dips, dports in otherHash.items():
71
-    counter +=1 #para contar los elementos del hash
72
-
73
-print (counter)
1
+#Itera a la vez el sip y el dip y guarda en un hash los puertos
2
+
3
+from silk import *
4
+
5
+
6
+startDate = "2009/04/20"
7
+endDate = "2009/04/22"
8
+#Para filtrar por puertos. Pero no queremos todavia
9
+#minPort = 20
10
+#maxPort = 5000
11
+
12
+
13
+def ipConversion(number, position):
14
+    mystr = ''
15
+    ipadd = number.split(".") #Devuelve un arreglo
16
+    for i in range(position+1):
17
+        if i ==position:
18
+            mystr = mystr + ipadd[i]
19
+        else:
20
+            mystr = mystr + ipadd[i] + '.'
21
+    return mystr #devuelve los numeros en notacion string
22
+
23
+
24
+def UltimoAnalisis(flowHash, num):
25
+    dportHash={}
26
+    flow_Counter=0
27
+    for filename in FGlob(classname="all", type="all", start_date=startDate, end_date=endDate, site_config_file="/data/silk.conf", data_rootdir="/data"):
28
+        for rec in silkfile_open(filename, READ):#reading the flow file
29
+            if (':' in str(rec.sip)) or (num != 0 and ipConversion(str(rec.sip), num-1) not in flowHash): #Si en el paso anterior se vio que no
30
+                                                                         #tiene el length de puertos requerido, se ignora
31
+                continue
32
+            else: #agrega a un hash cada puerto con un counter de sus destination ips
33
+                dip = ipConversion(str(rec.dip), num)
34
+                sip = ipConversion(str(rec.sip), num)
35
+                dport= rec.dport
36
+                if sip in dportHash:
37
+                    if dip in dportHash[sip]:
38
+                        if dport in dportHash[sip][dip]:
39
+                            dportHash[sip][dip][dport] += 1
40
+                        else:
41
+                            dportHash[sip][dip][dport] = 1
42
+                    else:
43
+                        dportHash[sip][dip] = {dport : 1}
44
+                else:
45
+                    dportHash[sip] = { dip: {dport: 1} }
46
+
47
+    #print flow_Counter
48
+    return dportHash
49
+
50
+
51
+#main
52
+
53
+myNum = 0
54
+otherHash = {}
55
+while myNum <4: #Se itera las cuatro veces de acuerdo con la notacion de ipv4
56
+    flowHash= UltimoAnalisis(otherHash, myNum)
57
+    otherHash = {} #Se borra el hash para agregar elementos nuevos con la nueva etapa de la busqueda
58
+    for sips in flowHash: #se itera por todos los dip y sus counters o puertos
59
+        for dips, dports in flowHash[sips].items():
60
+            if len(dports) >= 100: #si la cantidad de puertos es mayor o igual a 100, nos interesan
61
+                                    #y por lo tanto se guardan en un hash
62
+                if sips in otherHash:
63
+                    otherHash[sips][dips] = dports
64
+                else:
65
+                    otherHash[sips] = {dips: dports}
66
+    myNum += 1
67
+    print (otherHash)
68
+
69
+
70
+for dips, dports in otherHash.items():
71
+    counter +=1 #para contar los elementos del hash
72
+
73
+print (counter)

Programas/Fedora/bruteforce_sip-dip_threehash.py → Programas/Fedora/Three_Hash/bruteforce_sip-dip_threehash.py Целия файл

@@ -1,53 +1,53 @@
1
-# Guarda lista de puertos de cada dip por cada sip
2
-
3
-from silk import *
4
-
5
-
6
-startDate = "2009/04/20"
7
-endDate = "2009/04/22"
8
-#Para filtrar por puertos. Pero no queremos todavia
9
-#minPort = 20
10
-#maxPort = 5000
11
-
12
-
13
-def verify_type():
14
-    dportHash = {} #contains amount of dport per each sip
15
-    for filename in FGlob(classname="all", type="all", start_date=startDate, end_date=endDate, site_config_file="/data/silk.conf", data_rootdir="/data"):
16
-        for rec in silkfile_open(filename, READ):#reading the flow file
17
-            sip = str(rec.sip)
18
-            dip = str(rec.dip)
19
-            dport = rec.dport
20
-            if (':' in sip): #Si en el paso anterior se vio que no
21
-                                                                #tiene el length de puertos requerido, se ignora
22
-                continue
23
-            else:
24
-                if sip in dportHash:
25
-                    if dip in dportHash[sip]:
26
-                        if dport in dportHash[sip][dip]:
27
-                            dportHash[sip][dip][dport] += 1
28
-                        else:
29
-                            dportHash[sip][dip][dport] = 1
30
-                    else:
31
-                        dportHash[sip][dip] = {dport : 1}
32
-                else:
33
-                    dportHash[sip] = { dip: {dport: 1} }
34
-    return dportHash
35
-
36
-
37
-#MAIN
38
-otherHash = {}
39
-counter = 0
40
-flowHash = verify_type()
41
-for sips in flowHash: #se itera por todos los dip y sus counters o puertos
42
-    for dips, dports in flowHash[sips].items():
43
-        if len(dports) >= 100: #si la cantidad de puertos es mayor o igual a 100, nos interesan
44
-                                #y por lo tanto se guardan en un hash
45
-            if sips in otherHash:
46
-                otherHash[sips][dips] = dports
47
-            else:
48
-                otherHash[sips] = {dips: dports}
49
-
50
-for dips, dports in otherHash.items():
51
-    counter +=1 #para contar los elementos del hash
52
-
53
-print (counter)
1
+# Guarda lista de puertos de cada dip por cada sip
2
+
3
+from silk import *
4
+
5
+
6
+startDate = "2009/04/20"
7
+endDate = "2009/04/22"
8
+#Para filtrar por puertos. Pero no queremos todavia
9
+#minPort = 20
10
+#maxPort = 5000
11
+
12
+
13
+def verify_type():
14
+    dportHash = {} #contains amount of dport per each sip
15
+    for filename in FGlob(classname="all", type="all", start_date=startDate, end_date=endDate, site_config_file="/data/silk.conf", data_rootdir="/data"):
16
+        for rec in silkfile_open(filename, READ):#reading the flow file
17
+            sip = str(rec.sip)
18
+            dip = str(rec.dip)
19
+            dport = rec.dport
20
+            if (':' in sip): #Si en el paso anterior se vio que no
21
+                                                                #tiene el length de puertos requerido, se ignora
22
+                continue
23
+            else:
24
+                if sip in dportHash:
25
+                    if dip in dportHash[sip]:
26
+                        if dport in dportHash[sip][dip]:
27
+                            dportHash[sip][dip][dport] += 1
28
+                        else:
29
+                            dportHash[sip][dip][dport] = 1
30
+                    else:
31
+                        dportHash[sip][dip] = {dport : 1}
32
+                else:
33
+                    dportHash[sip] = { dip: {dport: 1} }
34
+    return dportHash
35
+
36
+
37
+#MAIN
38
+otherHash = {}
39
+counter = 0
40
+flowHash = verify_type()
41
+for sips in flowHash: #se itera por todos los dip y sus counters o puertos
42
+    for dips, dports in flowHash[sips].items():
43
+        if len(dports) >= 100: #si la cantidad de puertos es mayor o igual a 100, nos interesan
44
+                                #y por lo tanto se guardan en un hash
45
+            if sips in otherHash:
46
+                otherHash[sips][dips] = dports
47
+            else:
48
+                otherHash[sips] = {dips: dports}
49
+
50
+for dips, dports in otherHash.items():
51
+    counter +=1 #para contar los elementos del hash
52
+
53
+print (counter)

+ 115
- 115
Programas/Fedora/nt_yet.py Целия файл

@@ -1,115 +1,115 @@
1
-#Itera por sip /16 y cuenta numero de puertos por cada dip
2
-
3
-from silk import *
4
-
5
-
6
-startDate = "2009/04/20"
7
-endDate = "2009/04/22"
8
-#Para filtrar por puertos. Pero no queremos todavia
9
-#minPort = 20
10
-#maxPort = 5000
11
-
12
-
13
-def ipConversion(number, position):
14
-    mystr = ''
15
-    ipadd = number.split(".") #Devuelve un arreglo
16
-    for i in range(position+1):
17
-        if i ==position:
18
-            mystr = mystr + ipadd[i]
19
-        else:
20
-            mystr = mystr + ipadd[i] + '.'
21
-    return mystr #devuelve los numeros en notacion string
22
-
23
-
24
-def PrimerAnalisis(flowHash, num):
25
-    dportHash={}
26
-    flow_Counter=0
27
-    for filename in FGlob(classname="all", type="all", start_date=startDate, end_date=endDate, site_config_file="/data/silk.conf", data_rootdir="/data"):
28
-        for rec in silkfile_open(filename, READ):#reading the flow file
29
-            if (':' in str(rec.sip)) or (num != 0 and ipConversion(str(rec.sip), num-1) not in flowHash): #Si en el paso anterior se vio que no
30
-                                                                         #tiene el length de puertos requerido, se ignora
31
-                continue
32
-            else: #agrega a un hash cada puerto con un counter de sus destination ips
33
-                dip = str(rec.dip)
34
-                sip = ipConversion(str(rec.sip), num)
35
-                dport= rec.dport
36
-                if sip in dportHash:
37
-                    if dip in dportHash[sip]:
38
-                        dportHash[sip][dip] += 1
39
-                    else:
40
-                        dportHash[sip][dip] = 1
41
-                else:
42
-                    dportHash[sip] = { dip: 1 }
43
-
44
-    #print flow_Counter
45
-    return dportHash
46
-
47
-
48
-def UltimoAnalisis(flowHash, num):
49
-    dportHash={}
50
-    flow_Counter=0
51
-    for filename in FGlob(classname="all", type="all", start_date=startDate, end_date=endDate, site_config_file="/data/silk.conf", data_rootdir="/data"):
52
-        for rec in silkfile_open(filename, READ):#reading the flow file
53
-            if (':' in str(rec.sip)) or (num != 0 and ipConversion(str(rec.sip), num-1) not in flowHash): #Si en el paso anterior se vio que no
54
-                                                                         #tiene el length de puertos requerido, se ignora
55
-                continue
56
-            else: #agrega a un hash cada puerto con un counter de sus destination ips
57
-                dip = ipConversion(str(rec.dip), num)
58
-                sip = ipConversion(str(rec.sip), num)
59
-                dport= rec.dport
60
-                if sip in dportHash:
61
-                    if dip in dportHash[sip]:
62
-                        dportHash[sip][dip].append(dport)
63
-                    else:
64
-                        dportHash[sip][dip] = [dport]
65
-                else:
66
-                    dportHash[sip] = { dip: [dport] }
67
-
68
-    #print flow_Counter
69
-    return dportHash
70
-
71
-
72
-
73
-
74
-
75
-
76
-
77
-
78
-#main
79
-#SET en python
80
-
81
-myNum = 0
82
-otherHash = {}
83
-while myNum <3: #Se itera las cuatro veces de acuerdo con la notacion de ipv4
84
-    flowHash= PrimerAnalisis(otherHash, myNum)
85
-    otherHash = {} #Se borra el hash para agregar elementos nuevos con la nueva etapa de la busqueda
86
-    for sips in flowHash: #se itera por todos los dip y sus counters o puertos
87
-        for dips, dports in flowHash[sips].items():
88
-            if dports >= 100: #si la cantidad de puertos es mayor o igual a 100, nos interesan
89
-                                    #y por lo tanto se guardan en un hash
90
-                if sips in otherHash:
91
-                    otherHash[sips][dips] = dports
92
-                else:
93
-                    otherHash[sips] = {dips: dports}
94
-    myNum += 1
95
-
96
-    #print (flowHash)
97
-
98
-#print otherHash
99
-#Ultimo chequeo, utilizando el ip completo
100
-counter = 0
101
-flowHash = UltimoAnalisis(otherHash, myNum)
102
-otherHash = {} #Se borra el hash para agregar elementos nuevos con la nueva etapa de la busqueda
103
-for sips in flowHash: #se itera por todos los dip y sus counters o puertos
104
-    for dips, dports in flowHash[sips].items():
105
-        if len(dports) >= 100: #si la cantidad de puertos es mayor o igual a 100, nos interesan
106
-                                #y por lo tanto se guardan en un hash
107
-            if sips in otherHash:
108
-                otherHash[sips][dips] = dports
109
-            else:
110
-                otherHash[sips] = {dips: dports}
111
-
112
-for dips, dports in otherHash.items():
113
-    counter +=1 #para contar los elementos del hash
114
-
115
-print counter
1
+#Itera por sip /16 y cuenta numero de puertos por cada dip
2
+
3
+from silk import *
4
+
5
+
6
+startDate = "2009/04/20"
7
+endDate = "2009/04/22"
8
+#Para filtrar por puertos. Pero no queremos todavia
9
+#minPort = 20
10
+#maxPort = 5000
11
+
12
+
13
+def ipConversion(number, position):
14
+    mystr = ''
15
+    ipadd = number.split(".") #Devuelve un arreglo
16
+    for i in range(position+1):
17
+        if i ==position:
18
+            mystr = mystr + ipadd[i]
19
+        else:
20
+            mystr = mystr + ipadd[i] + '.'
21
+    return mystr #devuelve los numeros en notacion string
22
+
23
+
24
+def PrimerAnalisis(flowHash, num):
25
+    dportHash={}
26
+    flow_Counter=0
27
+    for filename in FGlob(classname="all", type="all", start_date=startDate, end_date=endDate, site_config_file="/data/silk.conf", data_rootdir="/data"):
28
+        for rec in silkfile_open(filename, READ):#reading the flow file
29
+            if (':' in str(rec.sip)) or (num != 0 and ipConversion(str(rec.sip), num-1) not in flowHash): #Si en el paso anterior se vio que no
30
+                                                                         #tiene el length de puertos requerido, se ignora
31
+                continue
32
+            else: #agrega a un hash cada puerto con un counter de sus destination ips
33
+                dip = str(rec.dip)
34
+                sip = ipConversion(str(rec.sip), num)
35
+                dport= rec.dport
36
+                if sip in dportHash:
37
+                    if dip in dportHash[sip]:
38
+                        dportHash[sip][dip] += 1
39
+                    else:
40
+                        dportHash[sip][dip] = 1
41
+                else:
42
+                    dportHash[sip] = { dip: 1 }
43
+
44
+    #print flow_Counter
45
+    return dportHash
46
+
47
+
48
+def UltimoAnalisis(flowHash, num):
49
+    dportHash={}
50
+    flow_Counter=0
51
+    for filename in FGlob(classname="all", type="all", start_date=startDate, end_date=endDate, site_config_file="/data/silk.conf", data_rootdir="/data"):
52
+        for rec in silkfile_open(filename, READ):#reading the flow file
53
+            if (':' in str(rec.sip)) or (num != 0 and ipConversion(str(rec.sip), num-1) not in flowHash): #Si en el paso anterior se vio que no
54
+                                                                         #tiene el length de puertos requerido, se ignora
55
+                continue
56
+            else: #agrega a un hash cada puerto con un counter de sus destination ips
57
+                dip = ipConversion(str(rec.dip), num)
58
+                sip = ipConversion(str(rec.sip), num)
59
+                dport= rec.dport
60
+                if sip in dportHash:
61
+                    if dip in dportHash[sip]:
62
+                        dportHash[sip][dip].append(dport)
63
+                    else:
64
+                        dportHash[sip][dip] = [dport]
65
+                else:
66
+                    dportHash[sip] = { dip: [dport] }
67
+
68
+    #print flow_Counter
69
+    return dportHash
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+#main
79
+#SET en python
80
+
81
+myNum = 0
82
+otherHash = {}
83
+while myNum <3: #Se itera las cuatro veces de acuerdo con la notacion de ipv4
84
+    flowHash= PrimerAnalisis(otherHash, myNum)
85
+    otherHash = {} #Se borra el hash para agregar elementos nuevos con la nueva etapa de la busqueda
86
+    for sips in flowHash: #se itera por todos los dip y sus counters o puertos
87
+        for dips, dports in flowHash[sips].items():
88
+            if dports >= 100: #si la cantidad de puertos es mayor o igual a 100, nos interesan
89
+                                    #y por lo tanto se guardan en un hash
90
+                if sips in otherHash:
91
+                    otherHash[sips][dips] = dports
92
+                else:
93
+                    otherHash[sips] = {dips: dports}
94
+    myNum += 1
95
+
96
+    #print (flowHash)
97
+
98
+#print otherHash
99
+#Ultimo chequeo, utilizando el ip completo
100
+counter = 0
101
+flowHash = UltimoAnalisis(otherHash, myNum)
102
+otherHash = {} #Se borra el hash para agregar elementos nuevos con la nueva etapa de la busqueda
103
+for sips in flowHash: #se itera por todos los dip y sus counters o puertos
104
+    for dips, dports in flowHash[sips].items():
105
+        if len(dports) >= 100: #si la cantidad de puertos es mayor o igual a 100, nos interesan
106
+                                #y por lo tanto se guardan en un hash
107
+            if sips in otherHash:
108
+                otherHash[sips][dips] = dports
109
+            else:
110
+                otherHash[sips] = {dips: dports}
111
+
112
+for dips, dports in otherHash.items():
113
+    counter +=1 #para contar los elementos del hash
114
+
115
+print counter