Ere pẹlu Wifi lori ESP32

Ere pẹlu Wifi lori ESP32

Ohun ti o fun mi ni imọran lati ṣe ọpa apo kan fun itupalẹ awọn nẹtiwọọki WiFi jẹ Arokọ yi.

Ṣeun si wọn fun imọran naa. Mo kan ko ni nkankan lati ṣe.

Gbogbo iṣẹ ni a ṣe gẹgẹbi apakan ti ifisere fun idi ti igbadun ati faagun imọ mi ni aaye ti awọn imọ-ẹrọ nẹtiwọọki. Laiyara, wakati 1..4 ni ọsẹ kan, lati ibẹrẹ ọdun yii.
Emi ko gbero eyikeyi ilowo lilo. Awon. Eyi kii ṣe ohun elo agbonaeburuwole.

Ni akoko yii, gbogbo iṣẹ ṣiṣe ti a gbero n ṣiṣẹ. Gbogbo awọn orisun, ti ṣetan fun apejọ, Pipa nibi. Awọn ilana apejọ tun wa, ati bẹbẹ lọ Ninu akọsilẹ yii, Emi kii yoo ṣe ẹda alaye ti a fiweranṣẹ lori github. Emi yoo sọ fun ọ ohun ti Mo ro pe o ṣe pataki lati ṣapejuwe lọtọ.

Ero mi lori “ohun elo gbogbo” ati idi fun yiyan ESP32

Emi ko sọ pe otitọ ni. Gbogbo eniyan ni o ni ti ara wọn. Mo ti yoo gbiyanju a da mi wun ti hardware.

Dabaa ninu awọn article lilo ọran ti apapo ti Linux (ni ibẹrẹ Rasipibẹri Pi) + “awọn agbeegbe” ni irisi oludari (STM32) + CC1110 (8051 mojuto) ati ero lati ṣaja ohun gbogbo ti ṣee ṣe ninu rẹ (125kHz, NFC, 433mHz, USB, iButton, bluetooth,?) ko dabi pe o dara fun mi. Sibẹsibẹ, yi ise agbese O dabi pe yoo wa ni ikọkọ ati pipade (flipper-zero github “Ajo yii ko ni awọn ibi ipamọ ti gbogbo eniyan.”) O si lọ si ọna ohun elo ti ko wọpọ.

Boya Mo ṣe aṣiṣe, ati ni ọjọ iwaju awọn onkọwe yoo jẹ ki awọn orisun sọfitiwia wa ni gbangba. Ṣugbọn ti kii ba ṣe bẹ, lẹhinna Emi kii yoo ra iru nkan ti ohun elo laisi koodu orisun.

Awọn ibeere mi fun "irinṣẹ"

Apoti yẹ ki o jẹ kekere (kere ti o dara julọ).

Nitorina:

  • Ko si batiri ti a ṣe sinu rẹ nilo. Pẹlu lọwọlọwọ> 100 mA nigbati o ba n ṣiṣẹ pẹlu Wifi, batiri ti a ṣe sinu yoo jẹ nla tabi ko pẹ to. Nitorinaa, jẹ ki “apoti” naa ni agbara nipasẹ banki agbara boṣewa. Lonakona, Mo nigbagbogbo ni banki agbara ninu apo / ọkọ ayọkẹlẹ mi.
  • Tọju “apoti” Linux kan pẹlu awọn irinṣẹ inu, ti a kọ fun ọdun pupọ ni gbogbo awọn ede Pẹlu iboju kekere kan ati ṣeto awọn bọtini iṣakoso diẹ, ko ṣe oye. Awọn abajade le ṣee wo / ṣe ilana lori kọǹpútà alágbèéká deede pẹlu bọtini itẹwe kikun ati iboju.
  • Awọn paati yẹ ki o wa ni irọrun ati ki o mọ ni ibigbogbo (SDK ti o wa, ọpọlọpọ awọn apẹẹrẹ ati awọn iwe).

Bi abajade, fun mi, yiyan jẹ kedere - ESP32.

Fun gbogbo awọn iṣẹ ṣiṣe ti a sọ ninu nkan ti o jẹ ki n ṣe igbese, awọn agbara ti ESP32 ti to. Botilẹjẹpe pupọ julọ Mo tun fẹ ṣe ni:

  • Mu ṣiṣẹ ni ayika pẹlu Bluetooth.
  • Mu ṣiṣẹ ni ayika pẹlu iwọn 433mHz pẹlu ohun elo ti o rọrun julọ (aṣatunṣe titobi nikan, eyiti o to fun awọn iwulo to wulo).

Fo ni ikunra ni ESP32

  • ESP32 SDK (IDF) ko ni itumo.
  • Diẹ ninu awọn iṣẹ ṣiṣe (akopọ WiFi, fun apẹẹrẹ) wa laisi koodu orisun ni irisi awọn ile-ikawe aimi ti a pejọ.
  • Ẹgbẹ 5gHz ko ni atilẹyin ati pe awọn idiwọn ati aibalẹ wa ni ṣiṣẹ pẹlu WiFi.

Ṣugbọn iye owo / iwọn ni isanpada patapata fun awọn ailagbara wọnyi.

Iṣẹ ṣiṣe software akọkọ

Emi yoo ṣe apejuwe ni ṣoki awọn iṣẹ ṣiṣe ati ero mi nipa…

Ṣiṣakoso awọn eto ati ikojọpọ awọn faili lati SD

Gbogbo iṣakoso ita ni a ṣe nipasẹ oju-iwe wẹẹbu ti o rọrun, ti a ṣe ifilọlẹ ni ohun akojọ aṣayan lọtọ. ESP32 bẹrẹ ni ipo WiFi AP ati ṣafihan oju-iwe kan ni adiresi IP ti o wa titi.

Botilẹjẹpe awọn ohun kohun ESP32 yarayara, bi awọn idanwo ti fihan, iṣẹ igbakọọkan ti iṣẹ oju opo wẹẹbu ti a ṣe sinu ati, fun apẹẹrẹ, ipo olulana ko ni ibaramu pupọ. Nitorinaa, ko si iṣakoso agbara ati pe oju-iwe ko si ni gbogbo awọn ipo miiran.
Pẹlupẹlu, iṣakoso agbara ko nilo fun awọn idi iwadii.

Ipo ti ṣiṣẹ pẹlu awọn idii Beacon

Awọn ipo jẹ banal ati kii ṣe igbadun pupọ. Ṣe “nitori o ṣee ṣe.” Fun ayẹwo.
Awọn apẹẹrẹ wa ninu awọn apẹẹrẹ Espressif osise.

Ipo ayẹwo akojọ AP.
Lootọ, eyikeyi foonuiyara le ṣe eyi.
O dara, ni ipo yii akojọ AP yoo wa ni fipamọ.
Bekini spammer.
ESP32 bẹrẹ bi AP pẹlu SSID ti o farapamọ ati MAC ID ati bẹrẹ fifiranṣẹ [fireemu beakoni] ni ibamu si atokọ ti a ti ṣẹda tẹlẹ ti awọn SSID (ti a ṣẹda pẹlu ọwọ tabi gba ni iṣaaju nipasẹ ọlọjẹ atokọ AP)

Ipo sniffing WiFi soso

Awọn olupilẹṣẹ Espressif ti ṣafikun agbara fun sọfitiwia ohun elo lati gba gbogbo awọn apo-iwe WiFi “nfò ni afẹfẹ” nipasẹ iṣẹ ipe. Lootọ kii ṣe gbogbo rẹ, nitori o le ṣeto ipo nikan fun ikanni ti o wa titi kan.

Awọn ihamọ akoko ti o muna pupọ ti paṣẹ lori sisẹ iṣẹ ipe pada. Ti eyi ko ba fa awọn iṣoro fun ipo gbigba awọn iṣiro ti o rọrun, lẹhinna fun ipo gbigbasilẹ faili PCAP lori kaadi SD Mo ni lati tinker, ṣeto gbigbasilẹ nipasẹ isinyi ni iranti ati semaphores. Ni akiyesi iyasọtọ pe ilana pipe ipe pada n ṣiṣẹ lori mojuto kan, ati ilana ti o kọwe si SD ni omiiran.

Lakoko “afẹfẹ alariwo”, diẹ ninu awọn apo-iwe ti sọnu (ko si yara ninu isinyi ati pe wọn ti sọnu), ṣugbọn pẹlu “afẹfẹ” aṣoju ti iyẹwu kan ni irọlẹ (5..7 APs laarin hihan), gbigbasilẹ ni PCAP ti wa ni pari lai soso pipadanu.

Ni afikun, fun ibojuwo PCAP ati gbigbasilẹ, ipo sisẹ kan wa ti o da lori atokọ MAC ninu awọn akọle apo-iwe.

Fun apẹẹrẹ, o le tọpa ifarahan eniyan ni ile-igbimọ / kafe ṣaaju ki o to wọle tabi farahan ni oju. Diẹ eniyan mu WiFi ṣiṣẹ ati awọn asopọ adaṣe si awọn AP ti a mọ. (Mo n pa a ni bayi..)

Wiwo ijabọ ti o gbasilẹ ni Wireshark jẹ ẹkọ ati iwunilori fun awọn maapu oye - gbogbo rẹ ṣiṣẹ.

Ipo fun ṣiṣẹ pẹlu deauth jo

Nipa aiyipada, fifiranṣẹ awọn idii wọnyi jẹ eewọ ni ile-ikawe libnet80211.a, eyiti o wa laisi awọn orisun. Ṣugbọn o rọrun lati ṣe atunṣe nipa tweaking awọn die-die meji. Ni akọkọ Mo ṣiyemeji boya o tọ lati firanṣẹ alemo. Ṣugbọn lẹhin ti nrin ni ayika awọn aye oriṣiriṣi pẹlu ipo ibojuwo fireemu deauthentication ti wa ni titan, Mo ro pe: “kini apaadi.” Pẹlupẹlu, ni esp8266 ifijiṣẹ ti awọn idii wọnyi ko ni pipade ati pe awọn apejọ wa lori github fun esp8266.

Ni ọpọlọpọ awọn aaye (Emi kii yoo sọ nibo) idinku ti awọn AP ti aifẹ nipasẹ ọna yii ni a lo. Ati pe awọn wọnyi kii ṣe “awọn apanilaya”…

Ati pe o tun ya mi lẹnu pe pinpin Intanẹẹti mi lati foonu mi ko ṣiṣẹ ni awọn aye kan…

Ipo fun ipasẹ nọmba ati RSSI ti iru awọn apo-iwe jẹ iwulo pupọ lati ni oye “ibiti awọn AP osi ko fẹran rẹ.”

olulana mode

Ẹya yii le jẹ ohun ti o nifẹ julọ ti gbogbo lati ṣawari.

ESP32 ṣe atilẹyin iṣẹ nigbakanna ni ipo STA + SoftAP. Nitorinaa, o le ṣe imuse olulana NAT Ayebaye lori rẹ.

Lati ṣe atilẹyin akopọ nẹtiwọọki, Espressif nlo orita kan (eyiti ko yipada) ti ile-ikawe lwip.

Ṣugbọn, nipa aiyipada, ninu kikọ boṣewa, ile-ikawe esp-lwip ko pese ifiranšẹ siwaju laarin awọn atọkun netif 'ap' (SoftAP) ati 'st' (STA).

Nitoribẹẹ, o le ṣe laisi NAT, ṣugbọn iṣoro kan wa pẹlu sisopọ awọn STA meji tabi diẹ sii nigbakanna si wiwo 'ap' ati mimuuṣiṣẹpọ awọn adirẹsi IP lati 'st' si wiwo nẹtiwọọki 'ap'. Nitorinaa awọn iṣoro ko tọ si ati pe o rọrun nipasẹ NAT.

Pẹlupẹlu, esp-lwip orita wa lati martin-ger, eyiti o ṣe afikun imuse ti o rọrun ti NAT fun IP4.

Botilẹjẹpe awọn ọwọ mi n yun lati tun ṣe ni ohun ikunra nikan (ninu ero mi, o rọrun laisi orita ti iṣẹ akanṣe, ṣugbọn nipasẹ LWIPkio awọn iṣẹ asọye lakoko apejọ), ṣugbọn ọlẹ bori ati aṣayan lati martin-ger ti lo bi o ṣe jẹ.

Ni ipo olulana, ijabọ IP4 ti nwọle ati ti njade ni wiwo.

Ni pataki, atẹle naa ni a yọ jade lati inu rẹ fun ifihan loju iboju ati gbigba awọn iṣiro sinu faili kan:

  • Orukọ ẹrọ ti o sopọ si SoftAP ESP32 (awọn apo-iwe DHCP)
  • URL lati awọn ibeere DNS (UDP ibudo 53) lati ẹrọ ti a ti sopọ si SoftAP ESP32.

Ni afikun, o le mu igbasilẹ ijabọ ṣiṣẹ si faili PCAP kan.

Ipo yii wulo pupọ, fun apẹẹrẹ, lati ni oye, fun apẹẹrẹ, ohun ti foonu rẹ firanṣẹ si netiwọki ati ibiti o lọ.

O le ronu awọn ọna miiran lati lo ipo yii, ni akiyesi agbara lati ṣakoso patapata softAP ESP32 ti nwọle ati ijabọ ti njade ni ipele wiwo nẹtiwọọki: akọsori Ehernet (destMAC [6] + srcMAC [6] + Iru[2]) + isanwo (IP4, IP6, DCHP, ati bẹbẹ lọ iru).

Ni ipilẹ, ESP32 koju daradara daradara pẹlu iṣẹ olulana WiFi->WiFi, ti nkọja nipasẹ ijabọ deede laisi awọn idaduro eyikeyi. Ni koko-ọrọ, awọn idaduro ninu foonu ti a ti sopọ nipasẹ olulana lori ESP32 kii ṣe akiyesi.

Laanu, Espressif API ko ni agbara lati ṣeto àlẹmọ fun MAC ti a ti sopọ si SoftAP EPS32. Dipo, o dabaa lati sọ “o dabọ” (esp_wifi_deauth_sta) si awọn STA ti a ti sopọ tẹlẹ ti “ko fẹ”.

Sisẹ nipasẹ MAC fun awọn STA ti o sopọ ni lati ṣee nipasẹ ipe esp_wifi_deauth_sta()

Ni ipari

Botilẹjẹpe Emi ko wa pẹlu ohunkohun tuntun laarin ilana ti ṣiṣẹ pẹlu ESP32, boya abajade (koodu orisun) yoo nifẹ si ẹnikan.

Emi yoo fẹ lati ṣe akiyesi pe koodu naa jẹ kikọ fun awọn idi eto-ẹkọ nikan. Fun "sasaka", ati bẹbẹ lọ, a mọọmọ ṣe ko rọrun pupọ.

Emi ko ṣe igbimọ Circuit ti a tẹjade nitori pe o gba awọn wakati 1.5-2 lati ta awọn scarves ti o pari pẹlu okun waya.

Ati pe ti o ba ṣe, o nilo lati pejọ kii ṣe lati awọn igbimọ ti a ti ṣetan, ṣugbọn lati awọn paati kọọkan. Lẹhinna awọn iwọn yoo jẹ paapaa kere si.

orisun: www.habr.com

Fi ọrọìwòye kun