Estaciones Virtuales inalámbricas por Sergio Belkin se encuentra bajo una Licencia Creative Commons Atribución-CompartirDerivadasIgual 2.5 Argentina.
A veces es necesario simular una gran cantidad de estaciones (es decir clientes o “supplicants”) ante un Access Point para obtener una estimación de las capacidades del equipo y/o firmware. Seguramente existe algún que otro software con licencia restrictiva que nos permita hacer eso. Pero ¿se podrá hacer eso con una sola notebook con Linux? La respuesta es sí.
Veremos como:
echo options ath9k nohwcrypt=1 > /etc/modprobe.d/ath9k.conf
Editamos /lib/udev/rules.d/75-persistent-net-generator.rules
Queremos que udev no maneje la interfaz wireless wlan0, entonces sacamos de la siguiente regla a wlan0
KERNEL!=”eth*|ath*|ra*|ctc*|lcs*|hsi*”, GOTO=”persistent_net_generator_end”
Tampoco necesitamos la siguiente la regla, así que la borramos:
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”68:a3:c4:33:44:55″, ATTR{dev_id}==”0x0″, ATTR{type}==”1″, KERNEL==”wlan*”, NAME=”wlan0″
systemctl restart udev-trigger.service
systemctl stop NetworkManager.service
systemctl stop avahi-daemon.service
killall wpa_supplicant
iw phy phy0 interface add sta0 type station
macchanger -r sta0
ip link set dev sta0 up
wpa_supplicant -t -ista0 -c /etc/wpa_supplicant/peap.conf -B -f /var/log/wpa-sta0.log
dhclient -v -cf /etc/wpa_supplicant/dhclient.conf sta0
Se puede hacer un script (de hecho es lo que hice) para automatizar estos pasos y agregar tantas interfaces virtuales como sea posible.
Reconocimiento: El artículo de Candela Technologies en http://www.candelatech.com/vsta.php fue de suma utilidad.
Advertencia: Esta receta funciona en particular para el módulo ath9k, es probable que sea necesario modificar algo con otros drivers o que directamente no funcione. Asimismo, se utilizó Fedora 16 desde el lado cliente, obviamente deberían realizarse las adapataciones pertinentes de acuerdo a la distribución.