2.1.2: Quiet decloak. Support ESSIDs with commas and trailing spaces

Decloaked ESSIDs will have a "*" next to their name. For #78

While testing, I found that Wifite did not parse Airodump's CSV correctly.
Specifically, ESSIDs with commas or trailing spaces.
Fixed in this commit.

Also fixed hidden ESSID detection introduced by the new CSV parsing logic.
This commit is contained in:
derv82
2018-04-06 18:44:46 -04:00
parent cef4c451fe
commit 20ea673a3d
6 changed files with 89 additions and 13 deletions

View File

@@ -52,14 +52,18 @@ class Target(object):
self.essid_known = True
self.essid_len = int(fields[12].strip())
self.essid = fields[13].strip()
if self.essid == '\\x00' * self.essid_len or self.essid.strip() == '':
self.essid = fields[13]
if self.essid == '\\x00' * self.essid_len or \
self.essid == 'x00' * self.essid_len or \
self.essid.strip() == '':
# Don't display "\x00..." for hidden ESSIDs
self.essid = None # '(%s)' % self.bssid
self.essid_known = False
self.wps = None
self.decloaked = False # If ESSID was hidden but we decloaked it.
self.clients = []
self.validate()
@@ -84,7 +88,7 @@ class Target(object):
Specifically formatted for the "scanning" table view.
'''
max_essid_len = 25
max_essid_len = 24
essid = self.essid if self.essid_known else "(%s)" % self.bssid
# Trim ESSID (router name) if needed
if len(essid) > max_essid_len:
@@ -99,6 +103,10 @@ class Target(object):
# Unknown ESSID
essid = Color.s("{O}%s" % essid)
# Add a "*" if we decloaked the ESSID
decloaked_char = '*' if self.decloaked else ' '
essid += Color.s("{P}%s" % decloaked_char)
if show_bssid:
bssid = Color.s('{O}%s ' % self.bssid)
else: