Kusewera ndi Wifi pa ESP32

Kusewera ndi Wifi pa ESP32

Zomwe zidandipatsa lingaliro lopanga chida chamthumba chowunikira maukonde a WiFi chinali Nkhani iyi.

Zikomo kwa iwo chifukwa cha lingaliro. Ndinalibe chochita.

Ntchito zonse zidachitika ngati gawo lachisangalalo ndicholinga chosangalatsa ndikukulitsa chidziwitso changa pazaukadaulo wapaintaneti. Pang'onopang'ono, maola 1..4 pa sabata, kuyambira chiyambi cha chaka chino.
Sindinakonzekere kugwiritsa ntchito kulikonse. Iwo. Ichi si chida cha owononga.

Pakalipano, ntchito zonse zomwe zakonzedwa zikugwira ntchito. Magwero onse, okonzeka kusonkhana, zaikidwa pano. Palinso malangizo a msonkhano, ndi zina zotero. Mu cholemba ichi, sindidzabwereza zomwe zaikidwa pa github. Ndingokuuzani zomwe ndikuwona kuti ndizofunikira kufotokoza mosiyana.

Lingaliro langa pa "chida chapadziko lonse" ndi chifukwa chosankha ESP32

Ine sindikudzinenera kuti ndine Choonadi. Aliyense ali ndi zake. Ndiyesera kulungamitsa kusankha kwanga kwa hardware.

Zaperekedwa m'nkhaniyi nkhani yogwiritsa ntchito kuphatikiza kwa Linux (poyamba Raspberry Pi) + "zotumphukira" mu mawonekedwe a controller (STM32) + CC1110 (8051 core) ndi dongosolo lodzaza chilichonse chotheka mmenemo (125kHz, NFC, 433mHz, USB, iButton, bluetooth, ?) sizinawoneke ngati zoyenera kwa ine. Komabe, polojekitiyi Zikuwoneka ngati zikhala zachinsinsi komanso zotsekedwa (flipper-zero github "Bungwe ili liribe nkhokwe zapagulu.")

Mwina ndikulakwitsa, ndipo mtsogolomo olembawo apanga magwero a mapulogalamuwa poyera. Koma ngati sichoncho, ndiye kuti sindingagule chida choterocho popanda code source.

Zofunikira zanga pa "chida"

Bokosilo liyenera kukhala laling'ono (laling'ono bwino).

Choncho:

  • Palibe batire yomangidwa yomwe imafunikira. Ndi yapano> 100 mA mukamagwira ntchito ndi Wifi, batire yomangidwayo ingakhale yayikulu kapena yosakhalitsa. Choncho, lolani "bokosi" likhale loyendetsedwa ndi banki yamagetsi. Komabe, nthawi zonse ndimakhala ndi banki yamagetsi m'thumba/galimoto yanga.
  • Sungani "bokosi" la Linux ndi zida mkati, yolembedwa kwa zaka zambiri m’zinenero zonse Ndi chophimba chaching'ono komanso mabatani ochepa owongolera, sizomveka. Zotsatira zitha kuwonedwa/kukonzedwa pa laputopu wamba yokhala ndi kiyibodi yathunthu ndi zenera.
  • Zida ziyenera kupezeka mosavuta komanso zodziwika bwino (SDK yomwe ilipo, zitsanzo zambiri ndi zolemba).

Zotsatira zake, kwa ine, kusankha kunali koonekeratu - ESP32.

Pazochita zonse zomwe zanenedwa m'nkhaniyi zomwe zidandipangitsa kuchitapo kanthu, kuthekera kwa ESP32 ndikokwanira. Ngakhale zambiri zomwe ndikufuna kuchita ndi izi:

  • Sewerani mozungulira ndi Bluetooth.
  • Sewerani mozungulira ndi mtundu wa 433mHz wokhala ndi zida zosavuta kwambiri (zongosintha matalikidwe, zomwe ndizokwanira pazosowa).

Kuwulukira mu mafuta mu ESP32

  • ESP32 SDK (IDF) ndizovuta.
  • Zina mwazochita (mwachitsanzo, WiFi stack) zimabwera popanda ma code code ngati malaibulale osakanikirana.
  • Gulu la 5gHz silimathandizidwa ndipo pali zolepheretsa komanso zovuta kugwira ntchito ndi WiFi.

Koma mtengo/kukula kwake kumakwaniritsa zofooka izi.

Main mapulogalamu magwiridwe antchito

Ndifotokoza mwachidule magwiridwe antchito ndi malingaliro anga okhudza ...

Kuwongolera makonda ndikukweza mafayilo kuchokera ku SD

Kuwongolera konse kwakunja kumachitika kudzera pa tsamba losavuta la Webusaiti, loyambika mu chinthu chosiyana cha menyu. ESP32 imayambira mu WiFi AP mode ndikuwonetsa tsamba pa adilesi ya IP yokhazikika.

Ngakhale ma cores a ESP32 ndi othamanga kwambiri, monga momwe zoyeserera zasonyezera, kugwiritsa ntchito munthawi yomweyo ntchito yapaintaneti yomangidwa komanso, mwachitsanzo, mawonekedwe a rauta samagwirizana kwambiri. Chifukwa chake, palibe kuwongolera kwamphamvu ndipo tsamba silipezeka mumitundu ina yonse.
Komanso, kuwongolera kwamphamvu sikofunikira pazolinga zofufuza.

Njira yogwirira ntchito ndi mapaketi a Beacon

Ma modes ndi oletsedwa komanso osasangalatsa kwambiri. Zapangidwa "chifukwa ndi zotheka." Kwa cheke.
Pali zitsanzo mu zitsanzo zovomerezeka za Espressif.

AP list scan mode.
Kwenikweni, foni yamakono iliyonse imatha kuchita izi.
Chabwino, munjira iyi mndandanda wa AP udzapulumutsidwa.
Sipammer ya beacon.
ESP32 imayamba ngati AP yokhala ndi SSID yobisika ndi MAC yachisawawa ndipo imayamba kutumiza [chithunzi cha beacon] molingana ndi mndandanda wa ma SSID omwe adapangidwa kale (opangidwa pamanja kapena atapezedwa kale posanthula mndandanda wa AP)

WiFi paketi kununkhiza mode

Madivelopa a Espressif awonjezera kuthekera kwa mapulogalamu a pulogalamu kuti alandire mapaketi onse a WiFi "owuluka mlengalenga" kudzera muntchito yoyimba foni. Kwenikweni si zonse, popeza mutha kungoyika mawonekedwe a tchanelo chimodzi chokhazikika.

Zoletsa zanthawi zokhazikika zimayikidwa pakukonza ntchito yobwereza. Ngati izi siziyambitsa zovuta pamachitidwe osavuta osonkhanitsira ziwerengero, ndiye kuti mafayilo a PCAP ajambulitse pa khadi la SD ndimayenera kuwongolera, kukonza zojambulira pamzere wamakumbukiro ndi ma semaphores. Poganizira zachilendo kuti njira yoyitanitsa kuyimbanso imayendera pachimake chimodzi, ndi njira yomwe imalembera SD kwina.

Panthawi ya "mpweya waphokoso", mapaketi ena amatayika (palibe malo pamzere ndipo amatayidwa), koma ndi "mpweya" wamba madzulo (5..7 APs mkati mwa kuwonekera), kujambula mu PCAP imamalizidwa popanda kutayika kwa paketi.

Kuphatikiza apo, pakuwunika ndi kujambula kwa PCAP, pali njira yosefera yotengera mndandanda wa MAC pamitu ya paketi.

Mwachitsanzo, mutha kuyang'ana maonekedwe a munthu mu kalabu/cafe asanalowe kapena kuwonekera. Ndi anthu ochepa okha omwe amaletsa WiFi ndikulumikiza basi ku ma AP odziwika. (Ndikuzimitsa tsopano..)

Kuwona magalimoto ojambulidwa ku Wireshark ndikophunzitsa komanso kosangalatsa kumvetsetsa mamapu - zonse zimagwira ntchito.

Njira yogwirira ntchito ndi phukusi la deauth

Mwachikhazikitso, kutumiza mapaketiwa ndikoletsedwa mulaibulale ya libnet80211.a, yomwe imabwera popanda magwero. Koma n'zosavuta kukonza mwa kusuntha pang'ono pang'ono. Poyamba ndinkakayikira ngati kunali koyenera kutumiza chigamba. Koma nditayenda mozungulira malo osiyanasiyana ndikuyatsa mawonekedwe azithunzi zotsimikizira, ndidaganiza: "chani gehena." Komanso, mu esp8266 kutumiza mapaketiwa sikutsekedwa ndipo pali misonkhano ya github ya esp8266.

M'malo ambiri (sindidzanena kuti) kuponderezedwa kwa ma AP osafuna kudzera mu njirayi kumagwiritsidwa ntchito. Ndipo awa si "ozunza" ...

Ndipo ndidadabwanso kuti kugawa kwanga pa intaneti kuchokera pafoni yanga sikunagwire ntchito m'malo ena ...

Njira yotsatirira nambala ndi RSSI ya mapaketi oterowo ndiwothandiza kwambiri kumvetsetsa "komwe ma AP akumanzere sakonda."

rauta mode

Izi mwina ndizosangalatsa kwambiri kuzifufuza.

ESP32 imathandizira kugwira ntchito nthawi imodzi mu STA + SoftAP mode. Chifukwa chake, mutha kukhazikitsa rauta yapamwamba ya NAT pamenepo.

Kuti athandizire kuchuluka kwa netiweki, Espressif amagwiritsa ntchito foloko (yosasinthika) ya laibulale ya lwip.

Koma, mwachisawawa, pakumanga kokhazikika, laibulale ya esp-lwip sipereka kutumiza pakati pa netif interfaces 'ap' (SoftAP) ndi 'st' (STA).

Zachidziwikire, mutha kuchita popanda NAT, koma pali vuto ndikulumikiza ma STA awiri kapena kupitilira apo ndi mawonekedwe a 'ap' ndikulumikiza ma adilesi a IP kuchokera pa 'st' network interface kupita ku 'ap'. Chifukwa chake zovutazo sizoyenera ndipo ndizosavuta kudzera mu NAT.

Kuphatikiza apo, pali foloko esp-lwip yochokera ku martin-ger, yomwe imawonjezera kukhazikitsa kosavuta kwa NAT kwa IP4.

Ngakhale manja anga anali kuyabwa kuti ndikonzenso zokometsera (mwa lingaliro langa, zinali zosavuta popanda foloko ya polojekitiyo, koma kudzera mu LWIP.lumikizanani ntchito zomwe zimafotokozedwa panthawi ya msonkhano), koma ulesi udalipo ndipo njira yochokera ku martin-ger imagwiritsidwa ntchito momwe ilili.

Mu mawonekedwe a rauta, magalimoto obwera ndi otuluka a IP4 amawonedwa.

Makamaka, zotsatirazi zimachotsedwamo kuti ziwonetsedwe pazenera ndikusonkhanitsa ziwerengero mufayilo:

  • Dzina lachida chomwe chidalumikizidwa ku SoftAP ESP32 (mapaketi a DHCP)
  • Ulalo wochokera ku zopempha za DNS (doko la UDP 53) kuchokera pachida cholumikizidwa ku SoftAP ESP32.

Kuphatikiza apo, mutha kuloleza kujambula kwa magalimoto ku fayilo ya PCAP.

Njirayi ndiyothandiza kwambiri, mwachitsanzo, kumvetsetsa, mwachitsanzo, zomwe foni yanu imatumiza ku netiweki ndi komwe ikupita.

Mutha kuganizira za njira zina zogwiritsira ntchito mawonekedwewa, poganizira kuthekera kotha kuwongolera kwathunthu magalimoto a softAP ESP32 omwe akubwera ndi otuluka pamanetiweki: Mutu wa Ehernet (destMAC[6]+srcMAC[6]+type[2]) + malipiro (IP4, IP6, DCHP, etc. mtundu).

M'malo mwake, ESP32 imagwira ntchito bwino ndi WiFi-> WiFi rauta, kudutsa mumsewu wabwinobwino popanda kuchedwa kwapadera. Mwachidziwitso, kuchedwa kwa foni yolumikizidwa kudzera pa rauta pa ESP32 sikukuwoneka.

Tsoka ilo, Espressif API ilibe kuthekera kokhazikitsa fyuluta ya MAC yolumikizidwa ndi SoftAP EPS32. M'malo mwake, akuti "zasiya" (esp_wifi_deauth_sta) kwa ma STA olumikizidwa kale omwe "sakufunidwa".

Kusefa ndi MAC kwa ma STA olumikizidwa kudayenera kuchitika kudzera pa foni ya esp_wifi_deauth_sta()

Pomaliza

Ngakhale sindinabwere ndi chilichonse chatsopano mkati mwa dongosolo logwira ntchito ndi ESP32, mwina zotsatira (code code) zidzakhala zosangalatsa kwa wina.

Ndikufuna kuzindikira kuti code inalembedwa ndi cholinga cha maphunziro okha. Kwa "kudula", ndi zina zotero, zidapangidwa mwadala osati zosavuta.

Sindinapange bolodi ladera losindikizidwa chifukwa zidatenga maola 1.5-2 kugulitsa masiketi omalizidwa ndi waya.

Ndipo ngati mutero, simuyenera kusonkhanitsidwa kuchokera ku matabwa opangidwa okonzeka, koma kuchokera kumagulu amodzi. Ndiye miyeso idzakhala yocheperapo.

Source: www.habr.com

Kuwonjezera ndemanga