Envoi et réception de trames d'action 802.11 dans le logiciel

10

Est-il possible d'accéder aux trames d'action 802.11 TX / RX à partir du logiciel? Il existe un protocole propriétaire basé sur des cadres d'action spécifiques au fournisseur appelé ESP-NOW pour les puces ESP8266 et ESP32, et j'aimerais essayer de l'implémenter sur un Raspberry Pi.

Cela a commencé avec mon projet privé où j'ai connecté Raspberry Pi avec ESP8266 (pour échanger des messages courts), puis j'ai remarqué qu'il y avait des API supplémentaires pour ESP8266 (ESP-NOW et Simple Pair) et je voulais comparer les performances à une connexion WiFi ordinaire.

Si ma recherche de détails sur l'accès aux cadres d'action WiFi réussit, je publierai tous les résultats (peut-être une bibliothèque à utiliser dans d'autres applications).

Alexandr Zarubkin
la source
Les ressources ESP-NOW d'Expresif avec un guide de l'utilisateur PDF et des kits de développement logiciel (SDK) semblent être disponibles sur espressif.com/en/products/software/esp-now/resources avec le guide de l'utilisateur indiquant «ESP-NOW applique la technologie de cadre de fournisseur d'action IEEE802.11 , ainsi que la fonction IE développée par Espressif et la technologie de chiffrement CCMP ... "
Richard Chambers
@RichardChambers oui, mais est-il possible dans le logiciel de recevoir ces trames IEEE802.11 Action Vendor dans d'autres appareils, c'est-à-dire dans Raspberry Pi ou d'autres appareils compatibles WiFi?
Alexandr Zarubkin
Oui, car les trames Action Vendor semblent être des trames de niveau nœud de réseau standard qui sont envoyées entre les nœuds d'un réseau au niveau de la couche de liaison de données avec une brève description de ce à quoi elles sont destinées au 802.11 - Cadres d'action et mise en réseau sans fil Linux: un court marcher et ces messages stackoverflow stackoverflow.com/questions/tagged/…
Richard Chambers
La question est quel est le produit final que vous souhaitez fournir? Voulez-vous développer une bibliothèque pour les autres à utiliser dans leurs applications ou quoi? Veuillez mettre à jour votre question avec plus de détails sur ce que vous espérez accomplir en termes de résultat produit spécifique de ce travail. Je ne connais pas ce niveau de communication réseau. J'espère que quelqu'un d'autre pourra fournir des détails plus concrets sur la manière de procéder.
Richard Chambers
@RichardChambers fait.
Alexandr Zarubkin

Réponses:

3

Je parie que les trames ESP-Now peuvent être reniflées en tsharkutilisant quelque chose comme tshark -n -l -i wlp0s29u1u2 -I -y IEEE802_11_RADIO(ajoutez un -ttype tel que ekou json), puis ajoutez un filtre comme -Y 'wlan.fc.type_subtype eq 4'pour trouver les paquets que vous voulez.

Vous pouvez utiliser n'importe quel outil d'injection de paquets compatible sans fil pour envoyer des paquets WiFi. (ie Scapy )

BraveNewCurrency
la source
2

Cela dépend de l'adaptateur WiFi que vous utilisez; certains accordent ce niveau d'accès, d'autres pas, ou du moins pas de manière documentée ou découverte.

Étant donné que le prix des modules de la série ESP est comparable à celui des adaptateurs WiFi USB et sans le souci d'un fournisseur de changer les composants internes sans changer le numéro de pièce, si vous n'avez pas besoin d'un autre réseau ou si vous souhaitez garder cette tâche séparée, vous pouvez simplement utilisez-en une comme interface aérienne pour votre autre système embarqué. Déléguer le travail à une puce ESP pourrait être plus simple que de le réimplémenter de toute façon.

Chris Stratton
la source