/* * rt_stealth.h * OPSEC: MAC randomization, TX power control, passive scanning. */ #pragma once #include #include #ifdef __cplusplus extern "C" { #endif /* Save the current STA MAC as original (call once at module init). */ void rt_stealth_save_original_mac(void); /* Randomize the STA MAC (locally-administered unicast). */ void rt_stealth_randomize_mac(void); /* Restore the original MAC. */ void rt_stealth_restore_mac(void); /* Get current STA MAC. */ void rt_stealth_get_current_mac(uint8_t mac[6]); /* Reduce TX power to stealth level (~8 dBm). */ void rt_stealth_low_tx_power(void); /* Restore TX power to default (20 dBm). */ void rt_stealth_restore_tx_power(void); /* Passive scan: channel-hop in promiscuous mode, collect beacons. * Results stored internally, retrieve with rt_stealth_get_scan_results. * duration_ms: total scan time (e.g. 3000 for 3s). * Returns number of unique APs found. */ int rt_stealth_passive_scan(int duration_ms); /* AP info collected during passive scan */ typedef struct { uint8_t bssid[6]; char ssid[33]; int8_t rssi; uint8_t channel; uint8_t auth_mode; /* 0=open, 1=WEP, 2=WPA, 3=WPA2, ... */ } rt_scan_ap_t; #define RT_MAX_SCAN_APS 32 /* Get passive scan results. Returns count. */ int rt_stealth_get_scan_results(rt_scan_ap_t *out, int max_count); #ifdef __cplusplus } #endif