|
@@ -1,32 +1,34 @@
|
1
|
1
|
#!/usr/bin/python3
|
2
|
2
|
#-*- coding: utf-8 -*-
|
|
3
|
+"""
|
|
4
|
+Script python3 pour générer des logs nfcapd sur mesure, pour simuler un trafic.
|
|
5
|
+"""
|
3
|
6
|
|
4
|
7
|
import os
|
5
|
8
|
import re
|
6
|
9
|
import datetime
|
7
|
10
|
|
8
|
11
|
#~ ajd = datetime.date.today()
|
9
|
|
-sec = int(datetime.date.today().strftime("%s"))
|
|
12
|
+sec = int(datetime.date.today().strftime("%s")) # première seconde de la journée actuelle
|
10
|
13
|
#~ ajd1 = datetime.datetime.fromtimestamp(sec).strftime('%Y-%m-%d %H:%M:%S')
|
11
|
14
|
|
12
|
15
|
|
13
|
|
-IPsrc = input("IP source : ")
|
14
|
|
-IPdst = input("IP destination : ")
|
15
|
|
-f = '/home/administrateur/traficTest.csv'
|
|
16
|
+IPsrc = input("IP source : ") # demande d'où vient le trafic
|
|
17
|
+IPdst = input("IP destination : ") # demande vers où va le trafic
|
|
18
|
+f = '/home/administrateur/traficTest.csv' # fichier où écrire les logs générés
|
16
|
19
|
|
17
|
20
|
|
18
|
21
|
with open(f, 'w') as fw:
|
19
|
22
|
for i in range(86400):
|
20
|
|
- #~ pq = "2016-09-18 14:21:45.244 0.000 TCP 88.224.34.18:443 -> 192.168.116.45:55817 1 52 1"
|
21
|
|
- pq = ""
|
22
|
|
- pq += datetime.datetime.fromtimestamp(sec+i).strftime('%Y-%m-%d;%H:%M:%S')
|
23
|
|
- pq += ".000;1.000;TCP;"
|
24
|
|
- pq += IPsrc
|
25
|
|
- pq += ":443;;"
|
26
|
|
- pq += IPdst
|
27
|
|
- pq += ":2048;1;"
|
28
|
|
- pq += str((i//3600)*10**5)
|
29
|
|
- pq += ";1\n"
|
30
|
|
- fw.write(pq)
|
31
|
|
-
|
|
23
|
+ #~ pq = "2016-09-18;14:21:45.244;0.000;TCP;88.224.34.18:443;;192.168.116.45:55817;1;52;1" ligne exemple
|
|
24
|
+ pq = "" # (ré)initialise 'pq'
|
|
25
|
+ pq += datetime.datetime.fromtimestamp(sec+i).strftime('%Y-%m-%d;%H:%M:%S') # ajoute date;heure
|
|
26
|
+ pq += ".000;1.000;TCP;" # ajoute millisecondes pour la date, durée de transfert, protocole réseau
|
|
27
|
+ pq += IPsrc # ajoute variable IPsrc
|
|
28
|
+ pq += ":443;;" # ajoute protocole (port source, 443: https)
|
|
29
|
+ pq += IPdst # ajoute variable IPdst
|
|
30
|
+ pq += ":2048;1;" # ajoute port destination
|
|
31
|
+ pq += str((i//3600)*10**5) # taille du trafic. attention à ne pas dépasser 2Go (Go/s)
|
|
32
|
+ pq += ";1\n" # ajout des flows (1)
|
|
33
|
+ fw.write(pq) # écrit le paquet dans le fichier dst
|
32
|
34
|
|