Man radÄs ideja izveidot kabatas rÄ«ku WiFi tÄ«klu analÄ«zei
Paldies viÅiem par ideju. Man vienkÄrÅ”i nebija ko darÄ«t.
Visi darbi tika veikti hobija ietvaros, lai izklaidÄtos un paplaÅ”inÄtu zinÄÅ”anas tÄ«kla tehnoloÄ£iju jomÄ. LÄnÄm, 1..4 stundas nedÄļÄ, kopÅ” Ŕī gada sÄkuma.
NekÄdu praktisku pielietojumu neplÄnoju. Tie. Å is NAV hakeru rÄ«ks.
Å obrÄ«d darbojas visa plÄnotÄ funkcionalitÄte. Visi avoti, pilnÄ«bÄ gatavi montÄžai,
Mans viedoklis par āuniversÄlo rÄ«kuā un ESP32 izvÄles iemeslu
Es nepretendÄju uz patiesÄ«bu. Katram savs. MÄÄ£inÄÅ”u pamatot savu aparatÅ«ras izvÄli.
VarbÅ«t es kļūdos, un nÄkotnÄ autori padarÄ«s programmatÅ«ras avotus publiski pieejamus. Bet ja nÄ, tad es nepirktu Å”Ädu aparatÅ«ru bez pirmkoda.
Manas prasības "rīkam"
KastÄ«tei jÄbÅ«t mazai (jo mazÄka, jo labÄk).
TÄpÄc:
- Nav nepiecieÅ”ams iebÅ«vÄts akumulators. Ja strÄva ir > 100 mA, strÄdÄjot ar Wifi, iebÅ«vÄtais akumulators bÅ«s vai nu liels, vai arÄ« nedarbosies ilgi. TÄpÄc ļaujiet ākastÄ«teiā darboties ar standarta jaudas banku. Lai nu kÄ, man vienmÄr kabatÄ/maŔīnÄ ir jaudas banka.
- SaglabÄjiet Linux ākastÄ«tiā ar rÄ«kiem iekÅ”Ä, rakstÄ«ts daudzu gadu garumÄ visÄs valodÄs Ar mazo ekrÄnu un niecÄ«go vadÄ«bas pogu komplektu tam nav jÄgas. RezultÄtus var apskatÄ«t/apstrÄdÄt parastÄ klÄpjdatorÄ ar pilnu tastatÅ«ru un ekrÄnu.
- Komponentiem jÄbÅ«t viegli pieejamiem un plaÅ”i zinÄmiem (pieejams SDK, daudzi piemÄri un dokumentÄcija).
RezultÄtÄ man izvÄle bija acÄ«mredzama - ESP32.
Visiem rakstÄ minÄtajiem uzdevumiem, kas lika man rÄ«koties, ESP32 iespÄjas ir pilnÄ«gi pietiekamas. Lai gan visvairÄk es vÄlos darÄ«t:
- SpÄlÄjiet ar Bluetooth.
- SpÄlÄjiet ar 433 mHz diapazonu ar visvienkÄrÅ”Äko aparatÅ«ru (tikai amplitÅ«das modulÄcija, kas ir pietiekama praktiskÄm vajadzÄ«bÄm).
ESP32
- ESP32 SDK (IDF) ir nedaudz neveikls.
- Dažas funkcionalitÄtes (piemÄram, Wi-Fi kaudze) tiek nodroÅ”inÄtas bez pirmkoda montÄtu statisku bibliotÄku veidÄ.
- 5 gHz josla netiek atbalstÄ«ta, un darbÄ ar WiFi ir daži ierobežojumi un neveiklÄ«ba.
Bet cena/izmÄrs pilnÄ«bÄ kompensÄ Å”os trÅ«kumus.
GalvenÄ programmatÅ«ras funkcionalitÄte
ÄŖsi aprakstÄ«Å”u funkcionalitÄti un savu viedokli par...
IestatÄ«jumu pÄrvaldÄ«ba un failu augÅ”upielÄde no SD
Visa ÄrÄjÄ vadÄ«ba tiek veikta, izmantojot vienkÄrÅ”u Web lapu, kas tiek palaista atseviÅ”Ä·Ä izvÄlnes vienumÄ. ESP32 darbojas WiFi AP režīmÄ un parÄda lapu ar fiksÄtu IP adresi.
Lai gan ESP32 kodoli ir diezgan Ätri, kÄ liecina eksperimenti, iebÅ«vÄtÄ Web servisa vienlaicÄ«ga darbÄ«ba un, piemÄram, marÅ”rutÄtÄja režīms nav Ä«paÅ”i savietojami. TÄpÄc nav dinamiskas vadÄ«bas, un lapa nav pieejama visos citos režīmos.
TurklÄt pÄtniecÄ«bas nolÅ«kos dinamiskÄ kontrole nav nepiecieÅ”ama.
Darba režīms ar Beacon pakotnÄm
Režīmi ir banÄli un ne pÄrÄk interesanti. Izgatavots, "jo tas ir iespÄjams". PÄrbaudei.
Ir piemÄri oficiÄlajos Espressif piemÄros.
AP saraksta skenÄÅ”anas režīms.
Faktiski to var izdarÄ«t jebkurÅ” viedtÄlrunis.
Nu, Å”ajÄ režīmÄ AP saraksts tiks saglabÄts.
BÄkas surogÄtpasta izplatÄ«tÄjs.
ESP32 sÄkas kÄ AP ar slÄptu SSID un nejauÅ”u MAC un sÄk sÅ«tÄ«t [bÄkas rÄmi] saskaÅÄ ar iepriekÅ” izveidotu SSID sarakstu (izveidots manuÄli vai iegÅ«ts agrÄk, skenÄjot AP sarakstu).
WiFi pakeÅ”u Å”ÅaukÅ”anas režīms
Espressif izstrÄdÄtÄji ir pievienojuÅ”i iespÄju lietojumprogrammatÅ«rai saÅemt visas WiFi paketes, kas ālido gaisÄā, izmantojot atzvanÄ«Å”anas funkciju. PatiesÄ«bÄ ne visi, jo režīmu var iestatÄ«t tikai vienam fiksÄtam kanÄlam.
AtzvanÄ«Å”anas funkcijas apstrÄdei ir noteikti ļoti stingri laika ierobežojumi. Ja tas nesagÄdÄ problÄmas vienkÄrÅ”ajam statistikas vÄkÅ”anas režīmam, tad PCAP failu ierakstÄ«Å”anas režīmam SD kartÄ nÄcÄs Ä·erties, organizÄjot ierakstu, izmantojot rindu atmiÅÄ un semaforos. Å emot vÄrÄ Ä«patnÄ«bu, ka atzvanÄ«Å”anas process darbojas vienÄ kodolÄ, bet process, kas raksta uz SD, citÄ.
āTrokÅ”ÅainÄ gaisaā laikÄ tiek pazaudÄtas dažas paketes (rindÄ nav vietas un tÄs tiek izmestas), bet ar tipisku dzÄ«voklim āgaisuā vakarÄ (redzamÄ«bas robežÄs 5..7 AP), ierakstot PCAP. tiek pabeigta bez pakeÅ”u zuduma.
TurklÄt PCAP uzraudzÄ«bai un ierakstÄ«Å”anai ir filtrÄÅ”anas režīms, kura pamatÄ ir MAC saraksts pakeÅ”u galvenÄs.
PiemÄram, jÅ«s varat izsekot personas izskatam klubÄ/kafejnÄ«cÄ, pirms viÅÅ” pat ienÄk vai parÄdÄs redzeslokÄ. Tikai daži cilvÄki atspÄjo WiFi un automÄtiskos savienojumus ar zinÄmiem AP. (Es to tagad izslÄdzu..)
ReÄ£istrÄtÄs satiksmes apskate Wireshark ir izglÄ«tojoÅ”a un interesanta karÅ”u izpratnei ā tas viss darbojas.
Režīms darbam ar deauth pakotnÄm
PÄc noklusÄjuma Å”o pakotÅu sÅ«tÄ«Å”ana ir aizliegta bibliotÄkÄ libnet80211.a, kas tiek piegÄdÄta bez avotiem. Bet to ir viegli salabot, pielÄgojot pÄris bitus. SÄkumÄ Å”aubÄ«jos, vai ir vÄrts izlikt ielÄpu. Bet pÄc tam, kad staigÄju pa dažÄdÄm vietÄm ar ieslÄgtu deautentifikÄcijas kadru skenÄÅ”anas režīmu, es domÄju: "kas pie velna." TurklÄt esp8266 Å”o paku piegÄde nav slÄgta, un esp8266 github ir komplekti.
DaudzÄs vietÄs (neteikÅ”u, kur) tiek izmantota nevÄlamu AP nomÄkÅ”ana, izmantojot Å”o metodi. Un tie nav nekÄdi "bullÄ«Å”i"...
Un vÄl biju pÄrsteigts, ka mana interneta izplatÄ«Å”ana no telefona vietÄm nestrÄdÄja...
Å Ädu pakeÅ”u skaita un RSSI izsekoÅ”anas režīms ir ļoti noderÄ«gs, lai saprastu, "kur kreisajiem piekļuves punktiem tas nepatÄ«k".
marÅ”rutÄtÄja režīms
Å Ä« funkcija, iespÄjams, ir visinteresantÄkÄ no visÄm, ko izpÄtÄ«t.
ESP32 atbalsta vienlaicÄ«gu darbÄ«bu STA + SoftAP režīmÄ. TÄpÄc tajÄ varat ieviest klasisko NAT marÅ”rutÄtÄju.
Lai atbalstÄ«tu tÄ«kla steku, Espressif izmanto lwip bibliotÄkas dakÅ”iÅu (praktiski nemainÄ«gu).
Bet pÄc noklusÄjuma standarta bÅ«vÄjumÄ esp-lwip bibliotÄka nenodroÅ”ina pÄrsÅ«tÄ«Å”anu starp netif saskarnÄm āapā (SoftAP) un āstā (STA).
Protams, to var izdarÄ«t arÄ« bez NAT, taÄu rodas problÄma, vienlaikus savienojot divus vai vairÄkus STA ar 'ap' interfeisu un sinhronizÄjot IP adreses no 'st' tÄ«kla interfeisa uz 'ap'. TÄpÄc grÅ«tÄ«bas nav tÄ vÄrtas, un tas ir vieglÄk, izmantojot NAT.
TurklÄt no martin-ger ir dakÅ”a esp-lwip, kas pievieno vienkÄrÅ”u NAT ievieÅ”anu IP4.
Lai gan rokas niezÄja pÄrtaisÄ«t tÄ«ri kosmÄtiski (manuprÄt, vieglÄk bija bez fork of project, bet caur LWIPHOOK montÄžas laikÄ definÄtÄs funkcijas), taÄu slinkums ÅÄma virsroku un martin-ger opcija tiek izmantota tÄda, kÄda tÄ ir.
MarÅ”rutÄtÄja režīmÄ tiek skatÄ«ta ienÄkoÅ”Ä un izejoÅ”Ä IP4 trafika.
Jo Ä«paÅ”i no tÄ tiek izvilkts tÄlÄk norÄdÄ«tais, lai parÄdÄ«tu ekrÄnÄ un apkopotu statistiku failÄ:
- Ierīces nosaukums, kas savienota ar SoftAP ESP32 (DHCP paketes)
- URL no DNS pieprasījumiem (UDP 53. ports) no ierīces, kas savienota ar SoftAP ESP32.
TurklÄt varat iespÄjot satiksmes ierakstÄ«Å”anu PCAP failÄ.
Å is režīms ir ļoti noderÄ«gs, piemÄram, lai saprastu, piemÄram, ko tÄlrunis sÅ«ta tÄ«klam un kur tas nonÄk.
Varat izdomÄt citus veidus, kÄ izmantot Å”o režīmu, Åemot vÄrÄ iespÄju pilnÄ«bÄ kontrolÄt softAP ESP32 ienÄkoÅ”o un izejoÅ”o trafiku tÄ«kla saskarnes lÄ«menÄ«: Ehernet galvene (destMAC[6]+srcMAC[6]+type[2]) + kravnesÄ«ba (IP4, IP6, DCHP utt. tips).
ESP32 principÄ diezgan labi tiek galÄ ar WiFi->WiFi marÅ”rutÄtÄja funkciju, izbraucot cauri normÄlai satiksmei bez Ä«paÅ”iem aizÄ·erÅ”anÄs. SubjektÄ«vi aizkavÄÅ”anÄs tÄlrunÄ«, kas savienots ar marÅ”rutÄtÄju ESP32, nav pamanÄma.
DiemžÄl Espressif API nevar iestatÄ«t filtru MAC, kas savienots ar SoftAP EPS32. TÄ vietÄ tiek piedÄvÄts pateikt āardievuā (esp_wifi_deauth_sta) jau pievienotajiem STA, kas nav āvÄlamiā.
PieslÄgto STA filtrÄÅ”ana pÄc MAC bija jÄveic, izmantojot izsaukumu esp_wifi_deauth_sta()
NoslÄgumÄ
Lai gan, strÄdÄjot ar ESP32, es neko jaunu neizdomÄju, iespÄjams, rezultÄts (avota kods) kÄdam bÅ«s interesants.
Es vÄlos atzÄ«mÄt, ka kods tika uzrakstÄ«ts tikai izglÄ«tÄ«bas nolÅ«kos. āUzlauÅ”anaiā utt. tas tika apzinÄti padarÄ«ts ne pÄrÄk Ärts.
Es netaisÄ«ju iespiedshÄmas plati, jo gatavÄs Å”alles ar stiepli pielodÄja 1.5-2 stundas.
Un, ja jÅ«s to darÄt, jums tas ir jÄsamontÄ nevis no gataviem dÄļiem, bet gan no atseviŔķÄm sastÄvdaļÄm. Tad izmÄri bÅ«s vÄl mazÄki.
Avots: www.habr.com