Ramki akcji 802.11 wysyłają i odbierają w oprogramowaniu

10

Czy można uzyskać dostęp do ramek akcji 802.11 TX / RX z oprogramowania? Istnieje zastrzeżony protokół oparty na specyficznych dla producenta ramkach akcji o nazwie ESP-NOW dla układów ESP8266 i ESP32, i chciałbym spróbować wdrożyć go na Raspberry Pi.

Zaczęło się od mojego prywatnego projektu, w którym podłączyłem Raspberry Pi do ESP8266 (w celu wymiany krótkich wiadomości), potem zauważyłem, że istnieją dodatkowe interfejsy API dla ESP8266 (ESP-NOW i prosta para) i chciałem porównać wydajność ze zwykłym połączeniem WiFi.

Jeśli moje wyszukiwanie szczegółów dotyczących dostępu do ramek WiFi Action powiedzie się, opublikuję wszelkie wyniki (być może bibliotekę do wykorzystania w innych aplikacjach).

Alexandr Zarubkin
źródło
Zasoby ESP-NOW z Expresif z Podręcznikiem użytkownika PDF i zestawami SDK są dostępne na stronie espressif.com/en/products/software/esp-now/resources z Przewodnikiem użytkownika mówiącym: „ESP-NOW stosuje technologię ramki IEEE802.11 Action Vendor , wraz z funkcją IE opracowaną przez Espressif i technologią szyfrowania CCMP. ”
Richard Chambers
@RichardChambers tak, ale czy w oprogramowaniu można odbierać ramki IEEE802.11 Action Vendor w innych urządzeniach, np. W Raspberry Pi lub innych urządzeniach z obsługą WiFi?
Alexandr Zarubkin,
Tak, ponieważ ramki dostawcy akcji wyglądają jak standardowe ramki poziomu węzła sieci, które są wysyłane między węzłami sieci w warstwie łącza danych, z krótkim opisem tego, do czego służą w standardzie 802.11 - ramki akcji, a także sieć bezprzewodowa w systemie Linux: krótka spacer i te komentarze stackoverflow stackoverflow.com/questions/tagged/...
Richard Chambers
Pytanie brzmi: jaki produkt końcowy chcesz dostarczyć? Czy chcesz stworzyć bibliotekę, z której inni mogliby korzystać w swoich aplikacjach? Zaktualizuj swoje pytanie, podając więcej szczegółów na temat tego, co masz nadzieję osiągnąć w odniesieniu do konkretnego wyniku tej pracy. Nie znam tego poziomu komunikacji sieciowej. Mam nadzieję, że ktoś inny poda bardziej konkretne informacje na temat tego, jak to się robi.
Richard Chambers
@RichardChambers gotowe.
Alexandr Zarubkin,

Odpowiedzi:

3

Założę się, że ramki ESP-Now można wąchać za tsharkpomocą czegoś takiego tshark -n -l -i wlp0s29u1u2 -I -y IEEE802_11_RADIO(dodaj -ttyp taki jak eklub json), a następnie dodaj filtr, -Y 'wlan.fc.type_subtype eq 4'aby znaleźć pakiety, które chcesz.

Do wysyłania pakietów Wi-Fi można użyć dowolnego narzędzia do iniekcji pakietów obsługującego sieć bezprzewodową. (tj. Scapy )

BraveNewCurrency
źródło
2

Zależy to od używanego adaptera Wi-Fi; niektóre zapewniają ten poziom dostępu, inne nie, a przynajmniej nie w żaden udokumentowany lub odkryty sposób.

Biorąc pod uwagę, że moduły serii ESP są porównywalne cenowo z adapterami USB WiFi i bez obaw sprzedawcy zmieniającej elementy wewnętrzne bez zmiany numeru części, jeśli nie potrzebujesz innej sieci lub chcesz oddzielić to zadanie od siebie, możesz po prostu użyj jednego jako interfejsu radiowego dla drugiego wbudowanego systemu. Delegowanie zadania do układu ESP może być łatwiejsze niż ponowne wdrożenie.

Chris Stratton
źródło