Cearrbhachas le Wifi ar ESP32

Cearrbhachas le Wifi ar ESP32

Ba é an rud a thug an smaoineamh dom uirlis phóca a dhéanamh chun líonraí wifi a anailísiú An t-alt seo.

Buíochas leo as an smaoineamh. Ní raibh agam ach aon rud le déanamh.

Rinneadh an obair ar fad mar chuid de chaitheamh aimsire ar mhaithe le spraoi a bheith agam agus cur le m’eolas i réimse na dteicneolaíochtaí líonra. Go mall, 1..4 uair sa tseachtain, ó thús na bliana seo.
Níor phleanáil mé aon úsáid phraiticiúil. Iad siúd. NÍ uirlis hacker é seo.

Faoi láthair, tá gach feidhmiúlacht phleanáilte ag obair. Gach foinse, go hiomlán réidh le haghaidh tionóil, phostáil anseo. Tá treoracha cóimeála ann freisin, etc. Sa nóta seo, ní dhúblóidh mé an fhaisnéis a phostáiltear ar github. Ní inseoidh mé duit ach cad a mheasfaidh mé a bheith riachtanach chun cur síos a dhéanamh ar leithligh.

Mo thuairim ar an “uirlis uilíoch” agus an chúis atá leis an ESP32 a roghnú

Ní féidir liom a éileamh a bheith ar an fhírinne. Tá a gcuid féin ag gach duine. Déanfaidh mé iarracht mo rogha crua-earraí a chosaint.

Molta san alt an cás úsáide de mheascán de Linux (ar dtús Raspberry Pi) + “forimeallaigh” i bhfoirm rialtóir (STM32) + CC1110 (8051 croí) agus an plean chun gach rud is féidir ann a cram (125kHz, NFC, 433mHz, USB, iButton, bluetooth, ?) ní raibh an chuma oiriúnach dom. Ach, an tionscadal seo Tá an chuma ar an scéal go bhfanfaidh sé príobháideach agus dúnta (smeach-nialas github “Níl aon stór poiblí ag an eagraíocht seo."”) agus chuaigh sé i dtreo crua-earraí nach bhfuil an-choitianta.

B’fhéidir go bhfuil mé mícheart, agus sa todhchaí cuirfidh na húdair na foinsí bogearraí ar fáil go poiblí. Ach más rud é nach bhfuil, ansin ní ba mhaith liom a cheannach píosa crua-earraí den sórt sin gan an cód foinse.

Mo riachtanais don "uirlis"

Ba chóir go mbeadh an bosca beag (is lú is fearr).

Dá bhrí sin:

  • Níl gá le ceallraí ionsuite. Le sruth > 100 mA agus tú ag obair le Wifi, beidh an ceallraí ionsuite mór nó ní mhairfidh sé i bhfad. Mar sin, bíodh an “bosca” faoi thiomáint ag banc cumhachta caighdeánach. Ar aon nós, bíonn banc cumhachta agam i mo phóca/charr i gcónaí.
  • Coinnigh “bosca” Linux le huirlisí taobh istigh, scríofa thar na blianta fada i ngach teanga Le scáileán beag agus sraith gann de chnaipí rialaithe, ní dhéanann sé aon chiall. Is féidir na torthaí a fheiceáil/phróiseáil ar ghnáth ríomhaire glúine le méarchlár iomlán agus scáileán iomlán.
  • Ba cheart go mbeadh teacht éasca ar chomhpháirteanna agus go mbeadh eolas forleathan orthu (SDK ar fáil, go leor samplaí agus doiciméid).

Mar thoradh air sin, domsa, bhí an rogha soiléir - ESP32.

Maidir leis na tascanna go léir a luaitear san alt a spreag mé gníomh a dhéanamh, is leor cumais an ESP32. Cé gurb é an rud is mó ba mhaith liom a dhéanamh fós:

  • Seinn timpeall le Bluetooth.
  • Seinn timpeall leis an raon 433mHz leis na crua-earraí is simplí (modhnú aimplitiúid amháin, atá go leor do riachtanais phraiticiúla).

Eitilt san ointment i ESP32

  • Tá an ESP32 SDK (IDF) beagán clumsy.
  • Tagann cuid den fheidhmiúlacht (WiFi stack, mar shampla) gan cód foinse i bhfoirm leabharlanna statacha le chéile.
  • Ní thacaítear leis an mbanda 5gHz agus tá roinnt teorainneacha agus clumsiness ag obair le wifi.

Ach déanann an praghas/méid cúiteamh iomlán ar na heasnaimh seo.

Príomhfheidhm bogearraí

Déanfaidh mé cur síos gairid ar an bhfeidhmiúlacht agus ar mo thuairim faoi ...

Socruithe a bhainistiú agus comhaid a uaslódáil ó SD

Déantar gach rialú seachtrach trí leathanach Gréasáin simplí, a seoladh i mír roghchláir ar leith. Tosaíonn an ESP32 i mód AP WiFi agus taispeánann sé leathanach ag seoladh IP seasta.

Cé go bhfuil na croíleacáin ESP32 tapa go leor, mar a léirigh turgnaimh, níl oibriú comhuaineach na seirbhíse Gréasáin ionsuite agus, mar shampla, an modh ródaire an-luí. Mar sin, níl aon rialú dinimiciúil ann agus níl an leathanach ar fáil i ngach modh eile.
Ina theannta sin, níl gá le rialú dinimiciúil chun críocha taighde.

Modh oibre le pacáistí Beacon

Tá na modhanna banal agus níl siad an-suimiúil. Déanta "toisc go bhfuil sé indéanta." Le haghaidh seiceáil.
Tá samplaí sna samplaí oifigiúla Espressif.

Modh scanadh liosta AP.
I ndáiríre, is féidir le haon smartphone é seo a dhéanamh.
Bhuel, sa mhodh seo déanfar an liosta AP a shábháil.
Spamadóir beacon.
Tosaíonn an ESP32 mar AP le SSID folaithe agus MAC randamach agus tosaíonn sé ag seoladh [fráma beacon] de réir liosta réamhchruthaithe de SSIDanna (cruthaithe de láimh nó a fhaightear níos luaithe trí scanadh a dhéanamh ar an liosta AP)

Modh sniffing pacáiste wifi

Chuir forbróirí Espressif leis an gcumas do bhogearraí feidhmchláir gach paicéad WiFi a fháil “ag eitilt san aer” tríd an bhfeidhm aisghlao. I ndáiríre ní léir, ós rud é nach féidir leat ach an modh a shocrú le haghaidh cainéal seasta amháin.

Cuirtear srianta ama an-dian i bhfeidhm ar phróiseáil feidhm aisghlao. Mura n-eascraíonn sé seo fadhbanna don mhodh bailithe staitisticí simplí, ansin don mhodh taifeadta comhad PCAP ar an gcárta SD bhí orm tinker, ag eagrú an taifeadta trí scuaine i gcuimhne agus semaphores. Ag cur san áireamh an tsaintiúlacht a ritheann an próiseas ag glaoch ar ais ar chroí amháin, agus an próiseas a scríobhann chuig SD i gceann eile.

Le linn “aer noisy”, cailltear roinnt paicéid (níl aon spás sa scuaine agus cuirtear i leataobh iad), ach le “aer” tipiciúil d’árasán tráthnóna (5..7 AP laistigh den infheictheacht), taifeadta i PCAP i gcrích gan caillteanas paicéad.

Ina theannta sin, le haghaidh monatóireachta agus taifeadta PCAP, tá modh scagtha bunaithe ar an liosta MAC i gceanntásca an phacéid.

Mar shampla, is féidir leat cuma duine i gclub/caife a rianú sula dtéann sé isteach nó sula bhfeictear sa radharc é. Is beag duine a dhíchumasaíonn WiFi agus naisc uathoibríocha le APanna aitheanta. (Tá mé ag casadh as anois é..)

Tá sé oideachasúil agus suimiúil féachaint ar thrácht taifeadta i Wireshark chun léarscáileanna a thuiscint - oibríonn sé ar fad.

Modh chun oibriú le pacáistí bás

De réir réamhshocraithe, tá sé toirmiscthe na pacáistí seo a sheoladh sa leabharlann libnet80211.a, a thagann gan foinsí. Ach is furasta é a shocrú trí chúpla giotán a athrú. Ar dtús bhí amhras orm an fiú paiste a phostáil. Ach tar éis siúl timpeall áiteanna éagsúla leis an modh scanadh fráma dífhíordheimhnithe curtha ar siúl, shíl mé: "cad é an ifreann." Thairis sin, in esp8266 níl seachadadh na bpacáistí seo dúnta agus tá tionóil ar github le haghaidh esp8266.

I go leor áiteanna (ní déarfaidh mé cá háit) úsáidtear APanna nach dteastaíonn a chosc tríd an modh seo. Agus ní “bulaithe” iad seo...

Agus bhí ionadh orm freisin nár oibrigh mo dháileadh Idirlín ó mo ghuthán in áiteanna áirithe ...

Tá an modh chun líon agus RSSI na bpacáistí sin a rianú an-úsáideach chun tuiscint a fháil “nuair nach dtaitníonn na APanna clé leis.”

mód ródaire

Is dócha gurb é an ghné seo an ceann is suimiúla ar fad le iniúchadh.

Tacaíonn ESP32 le hoibriú comhuaineach i mód STA + SoftAP. Mar sin, is féidir leat ródaire NAT clasaiceach a chur i bhfeidhm air.

Chun tacú leis an gcruach líonra, úsáideann Espressif forc (beagnach gan athrú) den leabharlann lwip.

Ach, de réir réamhshocraithe, sa tógáil chaighdeánach, ní sholáthraíonn an leabharlann esp-lwip cur ar aghaidh idir na comhéadain netif 'ap' (SoftAP) agus 'st' (STA).

Ar ndóigh, is féidir leat é a dhéanamh gan NAT, ach tá fadhb ann le dhá STA nó níos mó a nascadh ag an am céanna leis an gcomhéadan 'ap' agus seoltaí IP a shioncronú ón gcomhéadan líonra 'st' go 'ap'. Mar sin ní fiú na deacrachtaí a bheith ann agus tá sé níos éasca trí NAT.

Thairis sin, tá forc esp-lwip ó martin-ger, a chuireann cur i bhfeidhm simplí NAT le haghaidh IP4.

Cé go raibh mo lámha itching chun é a athdhéanamh go cosmaideach amháin (i mo thuairim, bhí sé níos éasca gan forc an tionscadail, ach trí LWIPHOOK feidhmeanna arna sainiú le linn tionóil), ach bhí leisce i réim agus úsáidtear an rogha ó martin-ger mar atá.

I mód an ródaire, breathnaítear ar thrácht IP4 isteach agus amach.

Go háirithe, baintear an méid seo a leanas as le taispeáint ar an scáileán agus le staitisticí a bhailiú i gcomhad:

  • Ainm an ghléis a cheangail le SoftAP ESP32 (pacáidí DHCP)
  • URL ó iarratais DNS (port UDP 53) ó ghléas atá nasctha le SoftAP ESP32.

Ina theannta sin, is féidir leat taifeadadh tráchta a chumasú chuig comhad PCAP.

Tá an modh seo an-úsáideach, mar shampla, chun tuiscint a fháil, mar shampla, cad a sheolann do ghuthán chuig an líonra agus cén áit a théann sé.

Is féidir leat smaoineamh ar bhealaí eile chun an mód seo a úsáid, ag cur san áireamh an cumas chun trácht bogAP ESP32 isteach agus amach a rialú go hiomlán ar leibhéal an chomhéadain líonra: ceanntásc Ehernet (destMAC[6]+srcMAC[6]+cineál[2]) + pálasta (cineál IP4, IP6, DCHP, etc.).

I bprionsabal, déileálann an ESP32 go maith le feidhm an ródaire WiFi->WiFi, ag dul trí ghnáththrácht gan aon mhoill speisialta. Go suibiachtúil, níl moill ar fhón nasctha trí ródaire ar ESP32 faoi deara.

Ar an drochuair, níl an cumas ag API Espressif scagaire a shocrú le haghaidh MAC ceangailte le SoftAP EPS32. Ina áit sin, moltar “beannacht” (esp_wifi_deauth_sta) a rá le STAanna atá ceangailte cheana “nach dteastaíonn”.

B'éigean scagadh ag MAC do STAnna nasctha a dhéanamh tríd an nglao esp_wifi_deauth_sta()

Mar fhocal scoir

Cé nár tháinig mé suas le haon rud nua laistigh den chreat oibre le ESP32, b'fhéidir go mbeidh an toradh (cód foinse) suimiúil do dhuine éigin.

Ba mhaith liom a thabhairt faoi deara gur chun críocha oideachais amháin a scríobhadh an cód. Maidir le “hackáil”, etc., d’aon ghnó ní raibh sé an-áisiúil.

Ní dhearna mé clár ciorcad priontáilte mar thóg sé 1.5-2 uair an chloig chun na scaifeanna críochnaithe a shádráil le sreang.

Agus má dhéanann tú, ní mór duit é a chur le chéile ní ó bhoird réidh, ach ó chomhpháirteanna aonair. Ansin beidh na toisí níos lú fós.

Foinse: will.com

Add a comment