2009-05-29 26 views
5

Quiero saber cómo el comando iwlist escanea las redes inalámbricas disponibles, en Linux. Leí su código fuente y hubo una llamada ioctl usando SIOCSIWSCAN para activar el escaneo y SIOCGIWSCAN para obtener los resultados del escaneo. ¿Pero cómo estas capturas de sistema capturan y analizan las tramas de baliza?¿Cómo explora el comando iwlist() las redes inalámbricas?

Respuesta

10

iwlist(8) y las otras herramientas inalámbricas proporcionan una interfaz común para diferentes controladores de dispositivos inalámbricos compatibles con Linux Wireless Extensions (WEXT). Cada controlador registrará los controladores con WEXT que implementan las operaciones específicas del dispositivo definidas por esta interfaz. Para el escaneo, los dos manejadores se activan (comando SIOCSIWSCAN) y obtienen resultados de escaneo (comando SIOCGIWSCAN). Una vez que el dispositivo completa un escaneo, envía un evento SIOCGIWSCAN a WEXT a través de una interfaz netlink. Una aplicación que escucha este socket puede emitir un comando SIOCGIWSCAN para obtener los resultados del análisis desde el dispositivo. Tenga en cuenta que el dispositivo es libre de implementar el escaneo como lo desee. Por ejemplo, puede escuchar balizas de forma pasiva o explorar de forma activa enviando solicitudes de sondeo.

Lo anterior es deliberadamente vago en cuanto a la mecánica de envío de comandos a un dispositivo porque existe la forma tradicional (ioctl) y la nueva forma (netlink - cfg80211). Pero para tomar un ejemplo concreto, considere la forma tradicional. Las llamadas ioctl se implementan en el módulo WEXT pero el código que maneja este comando se implementa en el controlador del dispositivo. Cuando una aplicación de espacio de usuario crea un ioctl, WEXT busca el controlador del dispositivo y lo ejecuta.

+0

Entendido ... las llamadas ioctl se implementan en el módulo del controlador, por lo que la llamada a la función real para ioctl usando SIOCGIWSCAN invocará una función definida en el módulo del controlador. –

Cuestiones relacionadas