Projects STRLCPY wifi_db Commits 501484ad
🤬
  • ■ ■ ■ ■ ■ ■
    database_utils.py
    skipped 155 lines
    156 156   print("insertProbe Error " + str(error))
    157 157   return int(1)
    158 158   
     159 +def insertWPS(cursor, verbose, bssid, wlan_ssid, wps_version, wps_device_name, wps_model_name, wps_model_number, wps_config_methods, wps_config_methods_keypad):
     160 + ''''''
     161 + try:
     162 + cursor.execute('''INSERT INTO WPS VALUES(?,?,?,?,?,?,?,?)''',
     163 + (bssid, wlan_ssid, wps_version, wps_device_name, wps_model_name, wps_model_number, wps_config_methods, wps_config_methods_keypad))
     164 + return int(0)
     165 + except sqlite3.IntegrityError as error:
     166 + # errors += 1
     167 + if verbose:
     168 + print("insertWPS" + str(error))
     169 + return int(0)
     170 + except sqlite3.Error as error:
     171 + if verbose:
     172 + print("insertWPS Error " + str(error))
     173 + return int(1)
     174 + 
    159 175   
    160 176  def insertConnected(cursor, verbose, bssid, mac):
    161 177   ''''''
    skipped 204 lines
  • ■ ■ ■ ■ ■ ■
    wifi_db_aircrack.py
    skipped 295 lines
    296 296  def parse_cap(name, database, verbose, hcxpcapngtool, tshark):
    297 297   if tshark:
    298 298   parse_handshakes(name, database, verbose)
     299 + parse_WPS(name, database, verbose)
    299 300   parse_identities(name, database, verbose)
    300 301   if hcxpcapngtool:
    301 302   exec_hcxpcapngtool(name, database, verbose)
    skipped 44 lines
    346 347   print("Error in parse cap: ", error)
    347 348   
    348 349   
     350 + 
     351 +# Get handshakes from .cap
     352 +def parse_WPS(name, database, verbose):
     353 + try:
     354 + cursor = database.cursor()
     355 + errors = 0
     356 + file = name+".cap"
     357 + cap = pyshark.FileCapture(file, display_filter="wps.wifi_protected_setup_state == 0x02")
     358 + #cap.set_debug()
     359 + 
     360 + for pkt in cap:
     361 + #print(dir(pkt['wlan.mgt'].wps_version))
     362 + bssid = pkt.wlan.sa
     363 + wlan_ssid=''
     364 + wps_device_name=''
     365 + wps_model_name=''
     366 + wps_model_number=''
     367 + wps_config_methods=''
     368 + wps_config_methods_keypad=''
     369 + wps_version='1.0' #Default 1.0
     370 + try:
     371 + wlan_ssid=pkt['wlan.mgt'].wlan_ssid
     372 + if (pkt['wlan.mgt'].wps_ext_version2 == '0x20'):
     373 + wps_version = '2.0'
     374 + wps_device_name=pkt['wlan.mgt'].wps_device_name
     375 + wps_model_name=pkt['wlan.mgt'].wps_model_name
     376 + wps_model_number=pkt['wlan.mgt'].wps_model_number
     377 + wps_config_methods=pkt['wlan.mgt'].wps_config_methods
     378 + wps_config_methods_keypad=pkt['wlan.mgt'].wps_config_methods_keypad
     379 + 
     380 + 
     381 + except Exception:
     382 + pass
     383 + 
     384 + if verbose:
     385 + print('==============================')
     386 + print(bssid)
     387 + print(wps_version)
     388 + database_utils.insertWPS(cursor, verbose, bssid, wlan_ssid, wps_version, wps_device_name, wps_model_name, wps_model_number, wps_config_methods, wps_config_methods_keypad)
     389 +
     390 + print(".cap WPS done, errors", errors)
     391 + except pyshark.capture.capture.TSharkCrashException as error:
     392 + print("Error in parse cap, probably PCAP cut in the "
     393 + "middle of a packet: ", error)
     394 + except Exception as error:
     395 + print("Error in parse cap: ", error)
     396 + 
     397 + 
    349 398  # Get Identities from MGT login
    350 399  def parse_identities(name, database, verbose):
    351 400   try:
    skipped 32 lines
    384 433   # exec_hcxpcapngtool
    385 434   arguments = fileName + ' -o test.22000'
    386 435   
    387  - execution = subprocess.check_output("hcxpcapngtool " + arguments,
     436 + execution = subprocess.check_output("hcxpcapngtool --all " + arguments,
    388 437   shell=True)
    389 438   if verbose:
    390 439   print(execution)
    skipped 30 lines
  • ■ ■ ■ ■ ■ ■
    wifi_db_database.sql
    skipped 47 lines
    48 48   CONSTRAINT Relationship3 FOREIGN KEY (mac) REFERENCES Client (mac)
    49 49  );
    50 50   
     51 +CREATE TABLE IF NOT EXISTS WPS
     52 +(
     53 + bssid TEXT NOT NULL,
     54 + wlan_ssid TEXT NOT NULL,
     55 + wps_version TEXT NOT NULL,
     56 + wps_device_name TEXT NOT NULL,
     57 + wps_model_name TEXT NOT NULL,
     58 + wps_model_number TEXT NOT NULL,
     59 + wps_config_methods TEXT NOT NULL,
     60 + wps_config_methods_keypad TEXT NOT NULL,
     61 + CONSTRAINT KeyWPS PRIMARY KEY (bssid),
     62 + CONSTRAINT RelationshipWPS FOREIGN KEY (bssid) REFERENCES AP (bssid)
     63 +);
     64 + 
    51 65   
    52 66  CREATE TABLE IF NOT EXISTS SeenAp
    53 67  (
    skipped 44 lines
Please wait...
Page is in error, reload to recover