Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
derv82
GitHub Repository: derv82/wifite2
Path: blob/master/wifite/model/pmkid_result.py
412 views
1
#!/usr/bin/env python
2
# -*- coding: utf-8 -*-
3
4
from ..util.color import Color
5
from .result import CrackResult
6
7
class CrackResultPMKID(CrackResult):
8
def __init__(self, bssid, essid, pmkid_file, key):
9
self.result_type = 'PMKID'
10
self.bssid = bssid
11
self.essid = essid
12
self.pmkid_file = pmkid_file
13
self.key = key
14
super(CrackResultPMKID, self).__init__()
15
16
def dump(self):
17
if self.essid:
18
Color.pl('{+} %s: {C}%s{W}' %
19
('Access Point Name'.rjust(19), self.essid))
20
if self.bssid:
21
Color.pl('{+} %s: {C}%s{W}' %
22
('Access Point BSSID'.rjust(19), self.bssid))
23
Color.pl('{+} %s: {C}%s{W}' %
24
('Encryption'.rjust(19), self.result_type))
25
if self.pmkid_file:
26
Color.pl('{+} %s: {C}%s{W}' %
27
('PMKID File'.rjust(19), self.pmkid_file))
28
if self.key:
29
Color.pl('{+} %s: {G}%s{W}' % ('PSK (password)'.rjust(19), self.key))
30
else:
31
Color.pl('{!} %s {O}key unknown{W}' % ''.rjust(19))
32
33
def print_single_line(self, longest_essid):
34
self.print_single_line_prefix(longest_essid)
35
Color.p('{G}%s{W}' % 'PMKID'.ljust(5))
36
Color.p(' ')
37
Color.p('Key: {G}%s{W}' % self.key)
38
Color.pl('')
39
40
def to_dict(self):
41
return {
42
'type' : self.result_type,
43
'date' : self.date,
44
'essid' : self.essid,
45
'bssid' : self.bssid,
46
'key' : self.key,
47
'pmkid_file' : self.pmkid_file
48
}
49
50
if __name__ == '__main__':
51
w = CrackResultPMKID('AA:BB:CC:DD:EE:FF', 'Test Router', 'hs/pmkid_blah-123213.16800', 'abcd1234')
52
w.dump()
53
54
w = CrackResultPMKID('AA:BB:CC:DD:EE:FF', 'Test Router', 'hs/pmkid_blah-123213.16800', 'Key')
55
print('\n')
56
w.dump()
57
w.save()
58
print(w.__dict__['bssid'])
59
60
61
62