په ESP32 کې د وائی فای سره لوبې کول

په ESP32 کې د وائی فای سره لوبې کول

هغه څه چې ماته د وائی فای شبکو تحلیل کولو لپاره د جیب وسیلې جوړولو نظر راکړ دا مقاله.

د دوی د نظر لپاره مننه. ما یوازې د کولو لپاره هیڅ نه درلودل.

ټول کار د شوق د یوې برخې په توګه د ساتیرۍ کولو او د شبکې ټیکنالوژیو په برخه کې زما د پوهې پراخولو لپاره ترسره شوي. ورو ورو، په اونۍ کې 1..4 ساعته، د دې کال له پیل راهیسې.
ما هیڅ عملي کار نه دی پلان کړی. هغوی. دا د هیکر وسیله نه ده.

اوس مهال، ټول پلان شوي فعالیت کار کوي. ټولې سرچینې، د غونډې لپاره په بشپړه توګه چمتو دي، دلته خپور شوی. په دې یادښت کې د مجلس لارښوونې هم شتون لري، زه به په ګیتوب کې پوسټ شوي معلومات نقل نه کړم. زه به تاسو ته یوازې هغه څه ووایم چې زه یې په جلا توګه تشریح کول اړین ګڼم.

د "نړیوال وسیلې" په اړه زما نظر او د ESP32 غوره کولو دلیل

زه د حقیقت ادعا نه کوم. هرڅوک خپل لري. زه به هڅه وکړم چې زما د هارډویر انتخاب توجیه کړم.

په مقاله کې وړاندیز شوی د لینکس د ترکیب کارولو قضیه (په پیل کې راسبیري پای) + د کنټرولر (STM32) + CC1110 (8051 کور) په شکل کې "پریفیرلز" او هلته د هر څه ممکنه کولو پلان (125kHz, NFC, 433mHz, USB, iButton، بلوتوث،؟) زما لپاره مناسب نه ښکاري. په هرصورت، دا پروژه داسې ښکاري چې دا به خصوصي او تړلی پاتې شي (فلیپر - صفر ګیتوب "دا سازمان هیڅ عامه ذخیره نلري.") او د خورا عام هارډویر په لور لاړ.

شاید زه غلط یم، او په راتلونکي کې لیکوالان به د سافټویر سرچینې په عامه توګه چمتو کړي. مګر که نه، نو زه به د سرچینې کوډ پرته د هارډویر دا ډول ټوټه ونه اخلم.

د "وسیلې" لپاره زما اړتیاوې

بکس باید کوچنی وي (کوچنی ښه).

له همدې امله:

  • هیڅ جوړ شوي بیټرۍ ته اړتیا نشته. د اوسني> 100 mA سره کله چې د وائی فای سره کار کوي ، جوړ شوی بیټرۍ به یا لوی وي یا اوږده نه وي. نو اجازه راکړئ چې "بکس" د معیاري بریښنا بانک لخوا پرمخ وړل شي. په هرصورت، زه تل په خپل جیب / موټر کې د بریښنا بانک لرم.
  • دننه د وسیلو سره د لینکس "بکس" وساتئ، په ټولو ژبو کې د ډیرو کلونو لپاره لیکل شوي د کوچني سکرین او د کنټرول بټونو لږ سیټ سره ، دا هیڅ معنی نلري. پایلې د بشپړ کیبورډ او سکرین سره په نورمال لپ ټاپ کې لیدل / پروسس کیدی شي.
  • اجزا باید په اسانۍ سره د لاسرسي وړ وي او په پراخه کچه پیژندل شوي (د SDK شتون، ډیری مثالونه او اسناد).

د پایلې په توګه، زما لپاره، انتخاب څرګند و - ESP32.

د ټولو هغو دندو لپاره چې په مقاله کې ویل شوي چې ما د عمل کولو لپاره هڅولي، د ESP32 وړتیاوې کافي دي. که څه هم تر ټولو ډیر زه لاهم غواړم دا دی:

  • د بلوتوټ سره شاوخوا لوبې وکړئ.
  • د ساده هارډویر سره د 433mHz حد سره شاوخوا لوبې وکړئ (یوازې د طول موډل کول ، کوم چې د عملي اړتیاو لپاره کافي دي).

په ESP32 کې په مرمۍ کې مچۍ

  • د ESP32 SDK (IDF) یو څه ناپاک دی.
  • ځینې ​​​​فعالیتونه (د مثال په توګه د وائی فای سټیک) د راټول شوي جامد کتابتونونو په شکل کې د سرچینې کوډ پرته راځي.
  • د 5gHz بینډ نه ملاتړ کیږي او د وائی فای سره کار کولو کې ځینې محدودیتونه او بې نظمۍ شتون لري.

مګر قیمت / اندازه په بشپړ ډول د دې نیمګړتیاوو لپاره تاوان ورکوي.

د اصلي سافټویر فعالیت

زه به په لنډه توګه د فعالیت فعالیت او زما نظر په اړه تشریح کړم ...

د تنظیماتو اداره کول او د SD څخه فایلونه اپلوډ کول

ټول بهرنی کنټرول د ساده ویب پاڼې له لارې ترسره کیږي، په جلا مینو توکي کې پیل شوی. ESP32 د وائی فای AP حالت کې پیل کیږي او په یو ثابت IP پته کې یوه پاڼه ښیې.

که څه هم د ESP32 کورونه خورا ګړندي دي ، لکه څنګه چې تجربو ښودلې ، د جوړ شوي ویب خدماتو یوځل عملیات او د مثال په توګه ، د روټر حالت خورا مطابقت نلري. له همدې امله، هیڅ متحرک کنټرول شتون نلري او پاڼه په نورو ټولو طریقو کې شتون نلري.
سربیره پردې، د څیړنې موخو لپاره متحرک کنټرول ته اړتیا نشته.

د بیکن کڅوړو سره د کار کولو طریقه

موډونه بې ساري دي او خورا په زړه پوري ندي. جوړ شوی "ځکه چې دا ممکنه ده." د چک لپاره.
په رسمي Espressif مثالونو کې مثالونه شتون لري.

د AP لیست سکین کولو حالت.
په حقیقت کې، هر سمارټ فون کولی شي دا کار وکړي.
ښه، پدې حالت کې د AP لیست به خوندي شي.
بیکن سپیمر.
ESP32 د پټ SSID او یو تصادفي MAC سره د AP په توګه پیل کیږي او د SSIDs دمخه رامینځته شوي لیست سره سم [بیکن چوکاټ] لیږل پیل کوي (په لاسي ډول رامینځته شوی یا د AP لیست سکین کولو سره دمخه ترلاسه شوی)

د وائی فای پاکټ سنیفنګ حالت

د ایسپریسیف پراختیا کونکو د غوښتنلیک سافټویر لپاره وړتیا اضافه کړې ترڅو د کال بیک فنکشن له لارې ټول وائی فای پاکټونه "په هوا کې الوتنه" ترلاسه کړي. په حقیقت کې ټول نه، ځکه چې تاسو کولی شئ یوازې د یو ثابت چینل لپاره حالت تنظیم کړئ.

د کال بیک فنکشن پروسس کولو کې خورا سخت وخت محدودیتونه لګول شوي. که دا د ساده احصایې راټولولو حالت کې ستونزې رامینځته نکړي ، نو په SD کارت کې د PCAP فایل ثبتولو حالت لپاره زه باید ټینکر وکړم ، په حافظه او سیمفورونو کې د قطار له لارې ثبت تنظیم کول. د دې ځانګړتیا په پام کې نیولو سره چې د زنګ وهلو پروسه په یوه کور کې پرمخ ځي، او هغه پروسه چې په بل کې SD ته لیکي.

د "شور هوا" په جریان کې، ځینې پاکټونه ورک شوي (په کتار کې هیڅ ځای نشته او دوی پریښودل شوي)، مګر د ماښام په اپارتمان کې د "هوا" معمول سره (د لید لید کې 5..7 APs)، په PCAP کې ثبت کول د کڅوړې له لاسه ورکولو پرته بشپړ شوی.

سربیره پردې، د PCAP څارنې او ثبتولو لپاره، د پیکټ سرلیکونو کې د MAC لیست پراساس د فلټر کولو حالت شتون لري.

د مثال په توګه، تاسو کولی شئ په کلب / کیف کې د یو کس ظاهري بڼه تعقیب کړئ مخکې لدې چې هغه حتی ننوځي یا په لید کې څرګند شي. لږ خلک د پیژندل شوي APs سره وائی فای او اتوماتیک اړیکې غیر فعالوي. (زه دا اوس بندوم ..)

په Wireshark کې د ثبت شوي ترافیک لیدل د نقشو د پوهیدو لپاره تعلیمي او په زړه پوري دي - دا ټول کار کوي.

د مړینې کڅوړو سره د کار کولو حالت

په ډیفالټ ډول، د دې کڅوړو لیږل په libnet80211.a کتابتون کې منع دي، کوم چې پرته له سرچینو راځي. مګر د یو څو بټونو ټیک کولو سره دا اسانه کول اسانه دي. په لومړي سر کې ما شک وکړ چې ایا دا د پیچ ​​پوسټ کولو ارزښت لري. مګر د تصدیق کولو چوکاټ سکین کولو حالت سره د مختلف ځایونو شاوخوا ګرځیدو وروسته ، ما فکر وکړ: "څه شی دی." سربیره پردې ، په esp8266 کې د دې کڅوړو تحویلي ندي تړل شوي او د esp8266 لپاره په ګیتوب کې مجلسونه شتون لري.

په ډیری ځایونو کې (زه به نه وایم چیرته) د دې میتود له لارې د ناغوښتل شوي APs فشار کارول کیږي. او دا "ډار" نه دي ...

او زه هم حیران وم چې زما د تلیفون څخه زما د انټرنیټ توزیع په ځینو ځایونو کې کار نه کوي ...

د دې ډول کڅوړو شمیره او RSSI تعقیب کولو حالت د پوهیدو لپاره خورا ګټور دی "چیرې کیڼ APs یې نه خوښوي."

روټر حالت

دا خصوصیت شاید د سپړلو لپاره د ټولو څخه خورا په زړه پوري وي.

ESP32 په STA + SoftAP حالت کې یوځل عملیات ملاتړ کوي. له همدې امله ، تاسو کولی شئ پدې کې د کلاسیک NAT روټر پلي کړئ.

د شبکې سټیک ملاتړ کولو لپاره ، ایسپریسیف د lwip کتابتون فورک (په حقیقت کې نه بدل شوی) کاروي.

مګر، د ډیفالټ په واسطه، په معیاري جوړونه کې، د esp-lwip کتابتون د netif انٹرفیس 'ap' (SoftAP) او 'st' (STA) ترمنځ فارورډینګ چمتو نه کوي.

البته، تاسو کولی شئ دا د NAT پرته ترسره کړئ، مګر په ورته وخت کې د دوه یا ډیرو STAs د 'ap' انٹرفیس سره وصل کولو او د 'st' شبکې انٹرفیس څخه 'ap' ته د IP پتې همغږي کولو کې ستونزه شتون لري. نو ستونزې د دې ارزښت نلري او د NAT له لارې اسانه دي.

سربیره پردې ، د مارټین ګیر څخه فورک esp-lwip شتون لري ، کوم چې د IP4 لپاره د NAT ساده پلي کول اضافه کوي.

که څه هم زما لاسونه خارښ وو چې دا په خالص ډول په کاسمیټیک ډول بیا جوړ کړم (زما په نظر ، دا د پروژې له فورک پرته اسانه و ، مګر د LWIP له لارېچنګک دندې د مجلس په جریان کې تعریف شوي) مګر سستي غالبه شوه او د مارټین جیر اختیار لکه څنګه چې دی کارول کیږي.

په روټر موډ کې، راتلونکی او بهر روان IP4 ترافیک لیدل کیږي.

په ځانګړې توګه، لاندې په سکرین کې د ښودلو او په فایل کې د احصایې راټولولو لپاره له دې څخه ایستل شوي:

  • د وسیلې نوم چې د SoftAP ESP32 (DHCP پاکټونو) سره وصل دی
  • د SoftAP ESP53 سره وصل شوي وسیله څخه د DNS غوښتنې (UDP پورټ 32) څخه URL.

سربیره پردې ، تاسو کولی شئ د PCAP فایل ته د ترافیک ثبت کول فعال کړئ.

دا حالت خورا ګټور دی، د بیلګې په توګه، د پوهیدو لپاره، د بیلګې په توګه، ستاسو تلیفون شبکې ته څه لیږي او چیرته ځي.

تاسو کولی شئ د دې حالت کارولو لپاره د نورو لارو په اړه فکر وکړئ، د شبکې انټرفیس په کچه د softAP ESP32 راتلونکی او وتلو ترافیک په بشپړ ډول کنټرول کولو وړتیا په پام کې نیولو سره: Ehernet سرلیک (destMAC[6]+srcMAC[6]+type[2]) + پېلوډ (IP4، IP6، DCHP، او نور ډول).

په اصل کې، ESP32 د WiFi->WiFi روټر فعالیت سره خورا ښه مقابله کوي، پرته له کوم ځانګړي ځنډ څخه د عادي ترافیک څخه تیریږي. په موضوعي ډول، په ESP32 کې د روټر له لارې وصل شوي تلیفون کې ځنډ د پام وړ ندي.

له بده مرغه، Espressif API د SoftAP EPS32 سره وصل شوي MAC لپاره د فلټر تنظیم کولو وړتیا نلري. پرځای یې، دا وړاندیز کیږي چې "الوداع" ووایی (esp_wifi_deauth_sta) دمخه تړل شوي STAs ته چې "غوښتل شوي" ندي.

د وصل شوي STAs لپاره د MAC لخوا فلټر کول باید د esp_wifi_deauth_sta() کال له لارې ترسره شي

په پای کې

که څه هم زه د ESP32 سره د کار کولو په چوکاټ کې د کوم نوي سره نه یم راغلی، شاید پایله (د سرچینې کوډ) به د یو چا لپاره په زړه پوري وي.

زه غواړم یادونه وکړم چې کوډ یوازې د تعلیمي موخو لپاره لیکل شوی و. د "هیک کولو" او داسې نورو لپاره، دا په قصدي توګه جوړ شوی و چې خورا اسانه نه و.

ما چاپ شوی سرکټ بورډ نه دی جوړ کړی ځکه چې د تار سره د تیار شوي سکارفونو د سولر کولو لپاره 1.5-2 ساعته وخت نیولی.

او که تاسو یې کوئ، تاسو اړتیا لرئ چې دا د چمتو شوي بورډونو څخه نه، مګر د انفرادي برخو څخه راټول کړئ. بیا ابعاد به حتی کوچني وي.

سرچینه: www.habr.com

Add a comment