-
Notifications
You must be signed in to change notification settings - Fork 2
/
validate.py
65 lines (60 loc) · 1.96 KB
/
validate.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/usr/bin/python
import gwdglobals
import pcapy
import os.path
def validateinput():
if not validate_device():
print 'Device validation failed. Check your config.'
return 2
if not validate_file():
print 'File validation failed. Check your config.'
return 2
if gwdglobals.interface == '' and gwdglobals.infile == '':
print 'Must define input, either interface or file!'
elif gwdglobals.interface != '' and gwdglobals.infile != '':
print 'Cannot process two input sources!'
return 2
elif gwdglobals.outlog == '':
print 'No output file defined!'
return 2
# Not using this yet...
# elif gwdglobals.outfile == '':
# print 'No output XML file defined!'
# return 2
elif gwdglobals.subnet == '':
print 'No subnet defined!'
return 2
else:
return True
def validate_file():
if gwdglobals.infile == '':
print 'No input file defined, moving on...'
elif os.path.isfile(gwdglobals.infile):
gwdglobals.sourcetype = 'file'
print 'Input file exists, moving on...'
return True
else:
print 'Input file ' , gwdglobals.infile , ' does not exist!'
return 2
def validate_outfile():
return True
def validate_outformat():
# This will get more interesting as we support more output formats.
if gwdglobals.outformat == 'circos':
return True
def validate_device():
if gwdglobals.interface == '':
print 'No interface selected'
return True
else:
try:
devices = pcapy.findalldevs()
except:
print 'pcapy can not find any devices - try sudo'
return False
if gwdglobals.interface in devices:
gwdglobals.sourcetype = 'interface'
print 'Interface verified: ' + gwdglobals.interface
else:
print 'Configured interface does not exist. Available interfaces: ' , devices
return False