-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathnet.py
28 lines (22 loc) · 858 Bytes
/
net.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
import re
class net:
def __init__(self, descriptor_str):
#print descriptor_str
i=descriptor_str.index('Address')+len('Address')+2
self.ap_mac=descriptor_str[i:i+17]
i=descriptor_str.index('Frequency:')+len('Frequency:')
j=descriptor_str[i:].index(' ')
self.frequency=float(descriptor_str[i:i+j])
self.frequency*=1000.0
i=descriptor_str.index('ESSID')+len('ESSID')+2
j=descriptor_str[i:].index("\"")
self.essid=descriptor_str[i:i+j]
# avoid command injection
if not re.match("^[a-zA-Z0-9\ _\-]+$", self.essid):
print "[FATAL] invalid ESSID detected"
exit(1)
i=descriptor_str.index('Signal level=')+len('Signal level=')
j=descriptor_str[i:].index(' ')
self.rx_power=descriptor_str[i:i+j]
#if 'ardrone' in self.essid:
# print 'Net -> '+self.ap_mac+' '+self.rx_power+'dBm '+self.essid+' '+str(self.frequency)+'Mhz'