Handshake detection, various bug fixes.
This commit is contained in:
38
py/Attack.py
38
py/Attack.py
@@ -1,9 +1,47 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
class Attack(object):
|
||||
'''
|
||||
Contains functionality common to all attacks
|
||||
'''
|
||||
|
||||
target_wait = 10
|
||||
|
||||
def __init__(self, target):
|
||||
self.target = target
|
||||
|
||||
def run(self):
|
||||
raise Exception("Unimplemented method: run")
|
||||
|
||||
def wait_for_target(self, airodump):
|
||||
'''
|
||||
Waits for target to appear in airodump
|
||||
'''
|
||||
start_time = time.time()
|
||||
targets = airodump.get_targets()
|
||||
while len(targets) == 0:
|
||||
# Wait for target to appear in airodump.
|
||||
if int(time.time() - start_time) > Attack.target_wait:
|
||||
raise Exception(
|
||||
"Target did not appear after %d seconds, stopping"
|
||||
% Attack.target_wait)
|
||||
time.sleep(1)
|
||||
targets = airodump.get_targets()
|
||||
continue
|
||||
|
||||
# Ensure this target was seen by airodump
|
||||
airodump_target = None
|
||||
for t in targets:
|
||||
if t.bssid == self.target.bssid:
|
||||
airodump_target = t
|
||||
break
|
||||
|
||||
if airodump_target == None:
|
||||
raise Exception(
|
||||
'Could not find target (%s) in airodump' % self.target.bssid)
|
||||
|
||||
return airodump_target
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user