hostapd: add support for client taxonomy in the full config
This can be used to fingerprint clients to try to identify the exact
model
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(backported from 23c1827e34)
			
			
This commit is contained in:
		
				
					committed by
					
						
						Jo-Philipp Wich
					
				
			
			
				
	
			
			
			
						parent
						
							8bf1a35eda
						
					
				
				
					commit
					c1a856b18b
				
			@@ -357,7 +357,7 @@ CONFIG_INTERNAL_LIBTOMMATH=y
 | 
				
			|||||||
# Has the AP retain the Probe Request and (Re)Association Request frames from
 | 
					# Has the AP retain the Probe Request and (Re)Association Request frames from
 | 
				
			||||||
# a client, from which a signature can be produced which can identify the model
 | 
					# a client, from which a signature can be produced which can identify the model
 | 
				
			||||||
# of client device like "Nexus 6P" or "iPhone 5s".
 | 
					# of client device like "Nexus 6P" or "iPhone 5s".
 | 
				
			||||||
#CONFIG_TAXONOMY=y
 | 
					CONFIG_TAXONOMY=y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Fast Initial Link Setup (FILS) (IEEE 802.11ai)
 | 
					# Fast Initial Link Setup (FILS) (IEEE 802.11ai)
 | 
				
			||||||
# Note: This is an experimental and not yet complete implementation. This
 | 
					# Note: This is an experimental and not yet complete implementation. This
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,22 @@
 | 
				
			|||||||
--- a/hostapd/hostapd_cli.c
 | 
					--- a/hostapd/hostapd_cli.c
 | 
				
			||||||
+++ b/hostapd/hostapd_cli.c
 | 
					+++ b/hostapd/hostapd_cli.c
 | 
				
			||||||
@@ -417,7 +417,6 @@ static int hostapd_cli_cmd_sa_query(stru
 | 
					@@ -385,7 +385,6 @@ static int hostapd_cli_cmd_disassociate(
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-#ifdef CONFIG_TAXONOMY
 | 
				
			||||||
 | 
					 static int hostapd_cli_cmd_signature(struct wpa_ctrl *ctrl, int argc,
 | 
				
			||||||
 | 
					 				     char *argv[])
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					@@ -398,7 +397,6 @@ static int hostapd_cli_cmd_signature(str
 | 
				
			||||||
 | 
					 	os_snprintf(buf, sizeof(buf), "SIGNATURE %s", argv[0]);
 | 
				
			||||||
 | 
					 	return wpa_ctrl_command(ctrl, buf);
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					-#endif /* CONFIG_TAXONOMY */
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 #ifdef CONFIG_IEEE80211W
 | 
				
			||||||
 | 
					@@ -417,7 +415,6 @@ static int hostapd_cli_cmd_sa_query(stru
 | 
				
			||||||
 #endif /* CONFIG_IEEE80211W */
 | 
					 #endif /* CONFIG_IEEE80211W */
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -8,7 +24,7 @@
 | 
				
			|||||||
 static int hostapd_cli_cmd_wps_pin(struct wpa_ctrl *ctrl, int argc,
 | 
					 static int hostapd_cli_cmd_wps_pin(struct wpa_ctrl *ctrl, int argc,
 | 
				
			||||||
 				   char *argv[])
 | 
					 				   char *argv[])
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
@@ -643,7 +642,6 @@ static int hostapd_cli_cmd_wps_config(st
 | 
					@@ -643,7 +640,6 @@ static int hostapd_cli_cmd_wps_config(st
 | 
				
			||||||
 			 ssid_hex, argv[1]);
 | 
					 			 ssid_hex, argv[1]);
 | 
				
			||||||
 	return wpa_ctrl_command(ctrl, buf);
 | 
					 	return wpa_ctrl_command(ctrl, buf);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
@@ -16,7 +32,15 @@
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 static int hostapd_cli_cmd_disassoc_imminent(struct wpa_ctrl *ctrl, int argc,
 | 
					 static int hostapd_cli_cmd_disassoc_imminent(struct wpa_ctrl *ctrl, int argc,
 | 
				
			||||||
@@ -1518,7 +1516,6 @@ static const struct hostapd_cli_cmd host
 | 
					@@ -1510,15 +1506,12 @@ static const struct hostapd_cli_cmd host
 | 
				
			||||||
 | 
					 	{ "disassociate", hostapd_cli_cmd_disassociate,
 | 
				
			||||||
 | 
					 	  hostapd_complete_stations,
 | 
				
			||||||
 | 
					 	  "<addr> = disassociate a station" },
 | 
				
			||||||
 | 
					-#ifdef CONFIG_TAXONOMY
 | 
				
			||||||
 | 
					 	{ "signature", hostapd_cli_cmd_signature, hostapd_complete_stations,
 | 
				
			||||||
 | 
					 	  "<addr> = get taxonomy signature for a station" },
 | 
				
			||||||
 | 
					-#endif /* CONFIG_TAXONOMY */
 | 
				
			||||||
 | 
					 #ifdef CONFIG_IEEE80211W
 | 
				
			||||||
 	{ "sa_query", hostapd_cli_cmd_sa_query, hostapd_complete_stations,
 | 
					 	{ "sa_query", hostapd_cli_cmd_sa_query, hostapd_complete_stations,
 | 
				
			||||||
 	  "<addr> = send SA Query to a station" },
 | 
					 	  "<addr> = send SA Query to a station" },
 | 
				
			||||||
 #endif /* CONFIG_IEEE80211W */
 | 
					 #endif /* CONFIG_IEEE80211W */
 | 
				
			||||||
@@ -24,7 +48,7 @@
 | 
				
			|||||||
 	{ "wps_pin", hostapd_cli_cmd_wps_pin, NULL,
 | 
					 	{ "wps_pin", hostapd_cli_cmd_wps_pin, NULL,
 | 
				
			||||||
 	  "<uuid> <pin> [timeout] [addr] = add WPS Enrollee PIN" },
 | 
					 	  "<uuid> <pin> [timeout] [addr] = add WPS Enrollee PIN" },
 | 
				
			||||||
 	{ "wps_check_pin", hostapd_cli_cmd_wps_check_pin, NULL,
 | 
					 	{ "wps_check_pin", hostapd_cli_cmd_wps_check_pin, NULL,
 | 
				
			||||||
@@ -1543,7 +1540,6 @@ static const struct hostapd_cli_cmd host
 | 
					@@ -1543,7 +1536,6 @@ static const struct hostapd_cli_cmd host
 | 
				
			||||||
 	  "<SSID> <auth> <encr> <key> = configure AP" },
 | 
					 	  "<SSID> <auth> <encr> <key> = configure AP" },
 | 
				
			||||||
 	{ "wps_get_status", hostapd_cli_cmd_wps_get_status, NULL,
 | 
					 	{ "wps_get_status", hostapd_cli_cmd_wps_get_status, NULL,
 | 
				
			||||||
 	  "= show current WPS status" },
 | 
					 	  "= show current WPS status" },
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user