Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
derv82
GitHub Repository: derv82/wifite2
Path: blob/master/wifite/model/wps_result.py
412 views
1
#!/usr/bin/env python
2
# -*- coding: utf-8 -*-
3
4
from ..util.color import Color
5
from ..model.result import CrackResult
6
7
import time
8
9
class CrackResultWPS(CrackResult):
10
def __init__(self, bssid, essid, pin, psk):
11
self.result_type = 'WPS'
12
self.bssid = bssid
13
self.essid = essid
14
self.pin = pin
15
self.psk = psk
16
super(CrackResultWPS, self).__init__()
17
18
def dump(self):
19
if self.essid is not None:
20
Color.pl('{+} %s: {C}%s{W}' % ( 'ESSID'.rjust(12), self.essid))
21
if self.psk is None:
22
psk = '{O}N/A{W}'
23
else:
24
psk = '{G}%s{W}' % self.psk
25
Color.pl('{+} %s: {C}%s{W}' % ( 'BSSID'.rjust(12), self.bssid))
26
Color.pl('{+} %s: {C}WPA{W} ({C}WPS{W})' % 'Encryption'.rjust(12))
27
Color.pl('{+} %s: {G}%s{W}' % ( 'WPS PIN'.rjust(12), self.pin))
28
Color.pl('{+} %s: {G}%s{W}' % ('PSK/Password'.rjust(12), psk))
29
30
def print_single_line(self, longest_essid):
31
self.print_single_line_prefix(longest_essid)
32
Color.p('{G}%s{W}' % 'WPS'.ljust(5))
33
Color.p(' ')
34
if self.psk:
35
Color.p('Key: {G}%s{W} ' % self.psk)
36
Color.p('PIN: {G}%s{W}' % self.pin)
37
Color.pl('')
38
39
def to_dict(self):
40
return {
41
'type' : self.result_type,
42
'date' : self.date,
43
'essid' : self.essid,
44
'bssid' : self.bssid,
45
'pin' : self.pin,
46
'psk' : self.psk
47
}
48
49
if __name__ == '__main__':
50
crw = CrackResultWPS('AA:BB:CC:DD:EE:FF', 'Test Router', '01234567', 'the psk')
51
crw.dump()
52
crw.save()
53
54
55