¿Cómo controlar otros nodos para get RSSI?

Necesito medir RSSI entre dos pares de nodos en la misma networking. Si tengo estos dos datos:

  1. SSID para su networking.
  2. IP para que el nodo objective obtenga el RSSI al respecto.

Así que encontré este command: iwspy pero parece que no se encuentra en el kernel y veo este enlace del que se habla:

Eliminamos el soporte de iwspy hace mucho time porque es inútil, pero se olvidó de dejar de reclamar para soportarlo. Aparentemente, a nadie le importa, pero quítelo de todos modos.

Si su interfaz está en modo IBSS, Mesh point o AP / P2P Group Owner, puede volcar el MAC de la estación y su nivel de señal tal como lo percibe su tarjeta de networking con iw dev wlan0 station dump .

En cuanto a get el MAC de la dirección IP, una sugerencia sería usar la tabla ARP con el ip neigh . Tenga en count que es posible que deba hacer ping a la dirección IP para completar la tabla ARP.

Entonces, para search el RSSI para un nodo que reclame la dirección A, podría ser:

 MAC="$(ip neigh show to A dev wlan0 | cut -f 3 -d ' ')" if [ -n "$MAC" ]; then iw dev wlan0 station get "$MAC" | sed -nre "s@\s*signal:\s*@@p" else # no ARP entry. Ping the address and retry. fi 

Sin embargo, si su interfaz no es de este tipo (p. Ej., Equipo no AP), tendrá que manipular el modo monitor y no tendrá una forma confiable de get una dirección MAC desde una dirección IP (sugerencia: si la estación es el routing, entonces usará la IP del remitente, no la suya).


Como dije antes, iwconfig/iwspy/iwlist/iwpriv están en desuso y es una mierda. usan una API kernel (extensiones inalámbricas) que está en desuso y solo se implementa con fines de retrocompatibilidad, y solo si está habilitada en la configuration del kernel. Muchas de sus partes son falsificadas o carecen de muchas funciones, incluida Wi-Fi directa. Si está utilizando Wi-Fi directo, entonces ya está usando la API nl80211 kernel moderna, y debe olvidarse de la API wext y iwconfig/iwspy .

Y sí, necesitas la dirección MAC del nodo. Wi-Fi opera en las capas 1 y 2 en el model OSI y no le importa la capa superior. Una dirección IP y MAC tiene un propósito diferente y no es lo mismo.