[feature] OpenWRT: extract associated WiFi stations
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Área
- networking, operating-systems
Línea de trabajo
Revisa los puntos de entrada de OpenWRT propuestos en /tmp/test y /etc/config/snmpd, junto con iw, iwinfo, ubus, jsonfilter y los datos de cliente de netjson-monitoring. Define un enfoque para extraer las estaciones WiFi asociadas y los campos de cliente indicados; se considera terminado cuando esta información pueda obtenerse mediante la abstracción de dispositivos basada en SNMP del proyecto.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
This is one of the pieces of information in which openwisp users are mostly interested since it's widely used in public WiFi networks.
We can get this information with additional scripts and a custom MIB.
We could use iw or ubus (as we do in netjson-monitoring).
If we get a good result we could even send a patch to include these scripts in net-snmpd on OpenWRT by default.
Example exec net-snmpd script on on OpenWRT:
in /tmp/test:
#!/bin/sh
iwinfo
in /etc/config/snmpd:
config exec 'iwinfo'
option name 'iwinfo'
option prog '/tmp/test'
option miboid '1.2.3.4'
Output:
snmpwalk -v2c -c public <ip> 1.2.3.4
iso.2.3.4.1.1 = INTEGER: 1
iso.2.3.4.2.1 = STRING: "yo"
iso.2.3.4.3.1 = STRING: "/tmp/test"
iso.2.3.4.100.1 = INTEGER: 0
iso.2.3.4.101.1 = STRING: "wlan1 ESSID: \"fvgwifi-demo\""
iso.2.3.4.101.2 = STRING: " Access Point: 46:D1:FA:4B:38:42"
iso.2.3.4.101.3 = STRING: " Mode: Master Channel: 1 (2.412 GHz)"
iso.2.3.4.101.4 = STRING: " Tx-Power: 20 dBm Link Quality: unknown/70"
iso.2.3.4.101.5 = STRING: " Signal: unknown Noise: -92 dBm"
iso.2.3.4.101.6 = STRING: " Bit Rate: unknown"
iso.2.3.4.101.7 = STRING: " Encryption: none"
iso.2.3.4.101.8 = STRING: " Type: nl80211 HW Mode(s): 802.11bgn"
iso.2.3.4.101.9 = STRING: " Hardware: unknown [Generic MAC80211]"
iso.2.3.4.101.10 = STRING: " TX power offset: unknown"
iso.2.3.4.101.11 = STRING: " Frequency offset: unknown"
iso.2.3.4.101.12 = STRING: " Supports VAPs: yes PHY name: phy1"
iso.2.3.4.101.13 = ""
iso.2.3.4.101.14 = STRING: "wlo1 ESSID: \"broadgee-backup\""
iso.2.3.4.101.15 = STRING: " Access Point: 44:D1:FA:4B:38:42"
iso.2.3.4.101.16 = STRING: " Mode: Master Channel: 1 (2.412 GHz)"
iso.2.3.4.101.17 = STRING: " Tx-Power: 20 dBm Link Quality: 62/70"
iso.2.3.4.101.18 = STRING: " Signal: -48 dBm Noise: -92 dBm"
iso.2.3.4.101.19 = STRING: " Bit Rate: 36.1 MBit/s"
iso.2.3.4.101.20 = STRING: " Encryption: WPA2 PSK (CCMP)"
iso.2.3.4.101.21 = STRING: " Type: nl80211 HW Mode(s): 802.11bgn"
iso.2.3.4.101.22 = STRING: " Hardware: unknown [Generic MAC80211]"
iso.2.3.4.101.23 = STRING: " TX power offset: unknown"
iso.2.3.4.101.24 = STRING: " Frequency offset: unknown"
iso.2.3.4.101.25 = STRING: " Supports VAPs: yes PHY name: phy1"
iso.2.3.4.101.26 = ""
iso.2.3.4.102.1 = INTEGER: 0
iso.2.3.4.103.1 = ""
Of course the example above is naive but just explains how to get additional info on OpenWRT via SNMPd.
The important info we currently get from netjson-monitoring is:
"channel": 1,
"country": "IT",
"frequency": 2412,
"mode": "access_point",
"noise": -93,
"signal": -54,
"ssid": "SSID name",
"tx_power": 20,
"clients": [
{
"aid": 1,
"assoc": true,
"auth": true,
"authorized": true,
"ht": true,
"mac": "<MACADDR>",
"mfp": false,
"preauth": false,
"vht": false,
"wds": false,
"wmm": true,
"wps": false
}
]
I think we can get this info with a mixture of commands like uci get, iwinfo, iw <interface> station dumpor via ubus and jsonfilter.
We can work on this idea once we complete the first release.
- Lenguaje dominante
- Python
- Estrellas
- 42
- Forks
- 18
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de openwisp/netengine
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Verify AirOS CPU count sourceAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 38/100
-
[chores] Make calls resilient to errorsQuizá libre de nuevo @purhan la tomó hace 1948 días y no hay ningún pull request abierto. Abierto
Todos los issues de openwisp/netengine
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
sierra-research/tau2-bench#635 ·
Los mantenedores suelen responder en 1 día
-
The add-ssm-model skill requires a Cython simulator; the contributing guide allows Python onesPosiblemente ocupada @fmuia la tomó hoy. Abiertodocumentation skill
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
lnccbrown/ssm-simulators#406 ·
Los mantenedores suelen responder en 4 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
btclib-org/btclib-ecc#309 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
jbacalso24/mimry#459 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[Bug] POST /revoke with a FastMCP access token is a silent no-op (ownership gate never matches)Abiertoauth bug high-priority
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día