mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2024-11-28 18:28:23 -05:00
tests: AP tracking STA taxonomy
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
442819406c
commit
425cb95337
@ -103,3 +103,4 @@ CONFIG_SUITEB=y
|
||||
CONFIG_MBO=y
|
||||
|
||||
CONFIG_IAPP=y
|
||||
CONFIG_TAXONOMY=y
|
||||
|
@ -283,3 +283,107 @@ def _test_ap_track_sta_force_2ghz(dev, apdev):
|
||||
if freq != '2437':
|
||||
raise Exception("Unexpected operating channel")
|
||||
dev[0].request("DISCONNECT")
|
||||
|
||||
def test_ap_track_taxonomy(dev, apdev):
|
||||
"""AP tracking STA taxonomy"""
|
||||
try:
|
||||
_test_ap_track_taxonomy(dev, apdev)
|
||||
finally:
|
||||
dev[1].request("SET p2p_disabled 0")
|
||||
|
||||
def _test_ap_track_taxonomy(dev, apdev):
|
||||
params = { "ssid": "track",
|
||||
"country_code": "US",
|
||||
"hw_mode": "g",
|
||||
"channel": "6",
|
||||
"track_sta_max_num": "2" }
|
||||
hapd = hostapd.add_ap(apdev[0], params)
|
||||
bssid = apdev[0]['bssid']
|
||||
|
||||
dev[0].scan_for_bss(bssid, freq=2437, force_scan=True)
|
||||
addr0 = dev[0].own_addr()
|
||||
dev[0].connect("track", key_mgmt="NONE", scan_freq="2437")
|
||||
|
||||
dev[1].request("SET p2p_disabled 1")
|
||||
dev[1].scan_for_bss(bssid, freq=2437, force_scan=True)
|
||||
addr1 = dev[1].own_addr()
|
||||
dev[1].connect("track", key_mgmt="NONE", scan_freq="2437")
|
||||
|
||||
wpas = WpaSupplicant(global_iface='/tmp/wpas-wlan5')
|
||||
wpas.interface_add("wlan5")
|
||||
wpas.request("SET model_name track test")
|
||||
wpas.scan_for_bss(bssid, freq=2437, force_scan=True)
|
||||
addr = wpas.own_addr()
|
||||
wpas.connect("track", key_mgmt="NONE", scan_freq="2437")
|
||||
|
||||
if "FAIL" not in hapd.request("SIGNATURE abc"):
|
||||
raise Exception("SIGNATURE failure not reported (1)")
|
||||
if "FAIL" not in hapd.request("SIGNATURE 22:33:44:55:66:77"):
|
||||
raise Exception("SIGNATURE failure not reported (2)")
|
||||
|
||||
res = hapd.request("SIGNATURE " + addr0)
|
||||
logger.info("sta0: " + res)
|
||||
if not res.startswith("wifi4|probe:"):
|
||||
raise Exception("Unexpected SIGNATURE prefix")
|
||||
if "|assoc:" not in res:
|
||||
raise Exception("Missing assoc info in SIGNATURE")
|
||||
if "wps:track_test" in res:
|
||||
raise Exception("Unexpected WPS model name")
|
||||
|
||||
res = hapd.request("SIGNATURE " + addr1)
|
||||
logger.info("sta1: " + res)
|
||||
if not res.startswith("wifi4|probe:"):
|
||||
raise Exception("Unexpected SIGNATURE prefix")
|
||||
if "|assoc:" not in res:
|
||||
raise Exception("Missing assoc info in SIGNATURE")
|
||||
if "wps:" in res:
|
||||
raise Exception("Unexpected WPS info");
|
||||
if ",221(0050f2,4)," in res:
|
||||
raise Exception("Unexpected WPS IE info");
|
||||
if ",221(506f9a,9)," in res:
|
||||
raise Exception("Unexpected P2P IE info");
|
||||
|
||||
res = hapd.request("SIGNATURE " + addr)
|
||||
logger.info("sta: " + res)
|
||||
if not res.startswith("wifi4|probe:"):
|
||||
raise Exception("Unexpected SIGNATURE prefix")
|
||||
if "|assoc:" not in res:
|
||||
raise Exception("Missing assoc info in SIGNATURE")
|
||||
if "wps:track_test" not in res:
|
||||
raise Exception("Missing WPS model name")
|
||||
if ",221(0050f2,4)," not in res:
|
||||
raise Exception("Missing WPS IE info");
|
||||
if ",221(506f9a,9)," not in res:
|
||||
raise Exception("Missing P2P IE info");
|
||||
|
||||
addr2 = dev[2].own_addr()
|
||||
res = hapd.request("SIGNATURE " + addr2)
|
||||
if "FAIL" not in res:
|
||||
raise Exception("Unexpected SIGNATURE success for sta2 (1)")
|
||||
|
||||
for i in range(10):
|
||||
dev[2].request("SCAN freq=2437 passive=1")
|
||||
ev = dev[2].wait_event(["CTRL-EVENT-SCAN-RESULTS"], timeout=10)
|
||||
if ev is None:
|
||||
raise Exception("Scan did not complete")
|
||||
if dev[2].get_bss(bssid):
|
||||
break
|
||||
|
||||
res = hapd.request("SIGNATURE " + addr2)
|
||||
if "FAIL" not in res:
|
||||
raise Exception("Unexpected SIGNATURE success for sta2 (2)")
|
||||
|
||||
dev[2].connect("track", key_mgmt="NONE", scan_freq="2437")
|
||||
|
||||
res = hapd.request("SIGNATURE " + addr2)
|
||||
if "FAIL" not in res and len(res) > 0:
|
||||
raise Exception("Unexpected SIGNATURE success for sta2 (3)")
|
||||
|
||||
dev[2].scan_for_bss(bssid, freq=2437, force_scan=True)
|
||||
|
||||
res = hapd.request("SIGNATURE " + addr2)
|
||||
logger.info("sta2: " + res)
|
||||
if not res.startswith("wifi4|probe:"):
|
||||
raise Exception("Unexpected SIGNATURE prefix")
|
||||
if "|assoc:" not in res:
|
||||
raise Exception("Missing assoc info in SIGNATURE")
|
||||
|
Loading…
Reference in New Issue
Block a user