ESP32 இல் Wifi மூலம் கேமிங்

ESP32 இல் Wifi மூலம் கேமிங்

வைஃபை நெட்வொர்க்குகளை பகுப்பாய்வு செய்வதற்கான பாக்கெட் கருவியை உருவாக்கும் யோசனையை எனக்குக் கொடுத்தது இந்த கட்டுரை.

யோசனைக்கு தங்களுக்கு நன்றி. நான் ஒன்றும் செய்யவில்லை.

ஜாலியாக இருப்பதற்கும் நெட்வொர்க் தொழில்நுட்பத் துறையில் எனது அறிவை விரிவுபடுத்துவதற்கும் ஒரு பொழுதுபோக்கின் ஒரு பகுதியாக அனைத்து வேலைகளும் செய்யப்பட்டன. இந்த ஆண்டின் தொடக்கத்தில் இருந்து மெதுவாக, வாரத்திற்கு 1..4 மணிநேரம்.
நான் எந்த நடைமுறை பயன்பாட்டையும் திட்டமிடவில்லை. அந்த. இது ஹேக்கரின் கருவி அல்ல.

இந்த நேரத்தில், அனைத்து திட்டமிட்ட செயல்பாடுகளும் செயல்படுகின்றன. அனைத்து ஆதாரங்களும், சட்டசபைக்கு முற்றிலும் தயாராக உள்ளது, இங்கே வெளியிடப்பட்டது. அசெம்பிளி வழிமுறைகள் போன்றவையும் உள்ளன. இந்தக் குறிப்பில், கிதுப்பில் இடுகையிடப்பட்ட தகவலை நான் நகலெடுக்க மாட்டேன். தனித்தனியாக விவரிக்க வேண்டியது அவசியம் என்று நான் கருதுவதை மட்டுமே நான் உங்களுக்கு சொல்கிறேன்.

"உலகளாவிய கருவி" பற்றிய எனது கருத்து மற்றும் ESP32 ஐத் தேர்ந்தெடுப்பதற்கான காரணம்

நான் உண்மையைக் கூறவில்லை. ஒவ்வொருவருக்கும் அவரவர் உண்டு. எனது வன்பொருள் தேர்வை நியாயப்படுத்த முயற்சிப்பேன்.

கட்டுரையில் முன்மொழியப்பட்டது லினக்ஸ் (ஆரம்பத்தில் ராஸ்பெர்ரி பை) + “பெரிஃபெரல்ஸ்” ஒரு கன்ட்ரோலர் (STM32) + CC1110 (8051 கோர்) ஆகியவற்றின் கலவையின் பயன்பாடு மற்றும் அங்கு சாத்தியமான அனைத்தையும் (125kHz, NFC, 433mHz, USB, iButton, bluetooth, ?) எனக்குப் பொருத்தமாகத் தெரியவில்லை. எனினும், இந்த திட்டம் இது தனிப்பட்டதாகவும் மூடப்பட்டதாகவும் இருக்கும் (flipper-zero github "இந்த நிறுவனத்தில் பொது களஞ்சியங்கள் இல்லை.") மற்றும் மிகவும் பொதுவான வன்பொருளை நோக்கி செல்லவில்லை.

ஒருவேளை நான் தவறாக இருக்கலாம், எதிர்காலத்தில் ஆசிரியர்கள் மென்பொருள் ஆதாரங்களை பொதுவில் கிடைக்கச் செய்வார்கள். ஆனால் இல்லை என்றால், நான் மூல குறியீடு இல்லாமல் அத்தகைய வன்பொருளை வாங்க மாட்டேன்.

"கருவி"க்கான எனது தேவைகள்

பெட்டி சிறியதாக இருக்க வேண்டும் (சிறியது சிறந்தது).

எனவே:

  • உள்ளமைக்கப்பட்ட பேட்டரி தேவையில்லை. வைஃபையுடன் பணிபுரியும் போது மின்னோட்டம் > 100 mA உடன், உள்ளமைக்கப்பட்ட பேட்டரி பெரியதாக இருக்கும் அல்லது நீண்ட காலம் நீடிக்காது. எனவே, "பெட்டி" ஒரு நிலையான பவர் பேங்க் மூலம் இயக்கப்படட்டும். எப்படியிருந்தாலும், என் பாக்கெட்/காரில் எப்போதும் பவர் பேங்க் வைத்திருப்பேன்.
  • கருவிகளுடன் லினக்ஸ் “பெட்டியை” உள்ளே வைத்திருங்கள், அனைத்து மொழிகளிலும் பல ஆண்டுகளாக எழுதப்பட்டது ஒரு சிறிய திரை மற்றும் கட்டுப்பாட்டு பொத்தான்களின் ஒரு சிறிய தொகுப்பு, எந்த அர்த்தமும் இல்லை. முழு விசைப்பலகை மற்றும் திரையுடன் கூடிய சாதாரண மடிக்கணினியில் முடிவுகளைப் பார்க்கலாம்/செயலாக்கலாம்.
  • கூறுகள் எளிதில் அணுகக்கூடியதாகவும் பரவலாக அறியப்பட்டதாகவும் இருக்க வேண்டும் (கிடைக்கும் SDK, பல எடுத்துக்காட்டுகள் மற்றும் ஆவணங்கள்).

இதன் விளைவாக, எனக்கு, தேர்வு தெளிவாக இருந்தது - ESP32.

நடவடிக்கை எடுக்க என்னைத் தூண்டிய கட்டுரையில் கூறப்பட்ட அனைத்து பணிகளுக்கும், ESP32 இன் திறன்கள் போதுமானவை. நான் இன்னும் செய்ய விரும்புவது:

  • புளூடூத் மூலம் விளையாடுங்கள்.
  • எளிமையான வன்பொருளுடன் 433mHz வரம்பில் விளையாடுங்கள் (அளவீச்சு பண்பேற்றம் மட்டுமே, இது நடைமுறை தேவைகளுக்கு போதுமானது).

ESP32 இல் களிம்பில் பறக்கவும்

  • ESP32 SDK (IDF) சற்று விகாரமானது.
  • சில செயல்பாடுகள் (உதாரணமாக, வைஃபை ஸ்டேக்) அசெம்பிள் செய்யப்பட்ட நிலையான நூலகங்களின் வடிவத்தில் மூல குறியீடு இல்லாமல் வருகிறது.
  • 5gHz இசைக்குழு ஆதரிக்கப்படவில்லை மேலும் WiFi உடன் வேலை செய்வதில் சில வரம்புகள் மற்றும் விகாரங்கள் உள்ளன.

ஆனால் விலை/அளவு இந்த குறைபாடுகளை முழுமையாக ஈடுசெய்கிறது.

முக்கிய மென்பொருள் செயல்பாடு

செயல்பாடு மற்றும் எனது கருத்தை சுருக்கமாக விவரிக்கிறேன்...

அமைப்புகளை நிர்வகித்தல் மற்றும் SD இலிருந்து கோப்புகளைப் பதிவேற்றுதல்

அனைத்து வெளிப்புறக் கட்டுப்பாடுகளும் ஒரு எளிய வலைப்பக்கத்தின் மூலம் செய்யப்படுகிறது, தனி மெனு உருப்படியில் தொடங்கப்பட்டது. ESP32 WiFi AP பயன்முறையில் தொடங்குகிறது மற்றும் நிலையான IP முகவரியில் ஒரு பக்கத்தைக் காண்பிக்கும்.

ESP32 கோர்கள் மிக வேகமாக இருந்தாலும், சோதனைகள் காட்டியுள்ளபடி, உள்ளமைக்கப்பட்ட வலை சேவையின் ஒரே நேரத்தில் செயல்பாடு மற்றும், எடுத்துக்காட்டாக, திசைவி பயன்முறை மிகவும் இணக்கமாக இல்லை. எனவே, டைனமிக் கட்டுப்பாடு இல்லை மற்றும் பக்கம் மற்ற எல்லா முறைகளிலும் கிடைக்காது.
மேலும், ஆராய்ச்சி நோக்கங்களுக்காக டைனமிக் கட்டுப்பாடு தேவையில்லை.

பெக்கான் தொகுப்புகளுடன் பணிபுரியும் முறை

முறைகள் சாதாரணமானவை மற்றும் மிகவும் சுவாரஸ்யமானவை அல்ல. "இது சாத்தியம் என்பதால்" செய்யப்பட்டது. காசோலைக்கு.
உத்தியோகபூர்வ Espressif எடுத்துக்காட்டுகளில் உதாரணங்கள் உள்ளன.

AP பட்டியல் ஸ்கேனிங் பயன்முறை.
உண்மையில், எந்த ஸ்மார்ட்போனும் இதைச் செய்ய முடியும்.
சரி, இந்த முறையில் AP பட்டியல் சேமிக்கப்படும்.
பெக்கான் ஸ்பேமர்.
ESP32 ஆனது மறைக்கப்பட்ட SSID மற்றும் சீரற்ற MAC உடன் AP ஆகத் தொடங்குகிறது மற்றும் SSIDகளின் முன்பே உருவாக்கப்பட்ட பட்டியலின்படி [பீக்கான் பிரேம்] அனுப்பத் தொடங்குகிறது (கைமுறையாக உருவாக்கப்பட்டது அல்லது AP பட்டியலை ஸ்கேன் செய்வதன் மூலம் பெறப்பட்டது)

வைஃபை பாக்கெட் ஸ்னிஃபிங் பயன்முறை

Espressif டெவலப்பர்கள், "காற்றில் பறக்கும்" அனைத்து WiFi பாக்கெட்டுகளையும் திரும்ப அழைப்பதன் மூலம் பெறுவதற்கான பயன்பாட்டு மென்பொருளுக்கான திறனைச் சேர்த்துள்ளனர். ஒரு நிலையான சேனலுக்கு மட்டுமே நீங்கள் பயன்முறையை அமைக்க முடியும் என்பதால், உண்மையில் அனைத்தும் இல்லை.

திரும்ப அழைக்கும் செயல்பாட்டைச் செயலாக்குவதில் மிகவும் கடுமையான நேரக் கட்டுப்பாடுகள் விதிக்கப்படுகின்றன. இது எளிய புள்ளிவிவர சேகரிப்பு பயன்முறையில் சிக்கல்களை ஏற்படுத்தவில்லை என்றால், SD கார்டில் உள்ள PCAP கோப்பு பதிவு பயன்முறையில் நான் டிங்கர் செய்ய வேண்டியிருந்தது, நினைவகம் மற்றும் செமாஃபோர்களில் ஒரு வரிசை மூலம் பதிவை ஒழுங்கமைக்க வேண்டும். அழைப்பை அழைக்கும் செயல்முறை ஒரு மையத்தில் இயங்கும் தனித்தன்மையை கணக்கில் எடுத்துக்கொண்டு, மற்றொரு மையத்தில் SD க்கு எழுதும் செயல்முறை.

"சத்தம் நிறைந்த காற்றின்" போது, ​​சில பாக்கெட்டுகள் தொலைந்துவிடும் (வரிசையில் இடமில்லை, அவை நிராகரிக்கப்படுகின்றன), ஆனால் மாலையில் ஒரு அடுக்குமாடி குடியிருப்பின் வழக்கமான "காற்று" (5..7 APs தெரிவுநிலைக்குள்), PCAP இல் பதிவு செய்தல் பாக்கெட் இழப்பு இல்லாமல் முடிக்கப்படுகிறது.

கூடுதலாக, PCAP கண்காணிப்பு மற்றும் பதிவு செய்ய, பாக்கெட் தலைப்புகளில் MAC பட்டியலின் அடிப்படையில் ஒரு வடிகட்டுதல் முறை உள்ளது.

எடுத்துக்காட்டாக, ஒரு கிளப்/கஃபேயில் ஒருவர் நுழைவதற்கு முன்பே அல்லது அவர் பார்வையில் தோன்றுவதற்கு முன்பே அவரது தோற்றத்தை நீங்கள் கண்காணிக்கலாம். அறியப்பட்ட AP களுக்கான WiFi மற்றும் தானியங்கி இணைப்புகளை சிலர் முடக்குகிறார்கள். (இப்போது அணைக்கிறேன்..)

வயர்ஷார்க்கில் பதிவுசெய்யப்பட்ட போக்குவரத்தைப் பார்ப்பது கல்வி மற்றும் வரைபடங்களைப் புரிந்துகொள்வதற்கு சுவாரஸ்யமானது - இது அனைத்தும் வேலை செய்கிறது.

Deauth தொகுப்புகளுடன் வேலை செய்வதற்கான பயன்முறை

இயல்பாக, இந்த தொகுப்புகளை அனுப்புவது libnet80211.a நூலகத்தில் தடைசெய்யப்பட்டுள்ளது, இது ஆதாரங்கள் இல்லாமல் வருகிறது. ஆனால் இரண்டு பிட்களை மாற்றுவதன் மூலம் சரிசெய்வது எளிது. பேட்சை இடுகையிடுவது மதிப்புக்குரியதா என்று முதலில் நான் சந்தேகித்தேன். ஆனால் அங்கீகரிப்பு சட்ட ஸ்கேனிங் பயன்முறையை இயக்கியவுடன் வெவ்வேறு இடங்களைச் சுற்றி நடந்த பிறகு, நான் நினைத்தேன்: "என்ன கொடுமை." மேலும், esp8266 இல் இந்த தொகுப்புகளின் விநியோகம் மூடப்படவில்லை மற்றும் esp8266 க்கான github இல் அசெம்பிளிகள் உள்ளன.

பல இடங்களில் (எங்கே என்று சொல்ல மாட்டேன்) இந்த முறை மூலம் தேவையற்ற AP களை அடக்குவது பயன்படுத்தப்படுகிறது. மேலும் இவர்கள் "கொடுமைப்படுத்துபவர்கள்" அல்ல...

மேலும் எனது தொலைபேசியில் இருந்து எனது இணைய விநியோகம் சில இடங்களில் வேலை செய்யவில்லை என்பது எனக்கு ஆச்சரியமாக இருந்தது...

அத்தகைய பாக்கெட்டுகளின் எண் மற்றும் RSSI ஆகியவற்றைக் கண்காணிப்பதற்கான பயன்முறையானது "இடது AP கள் எங்கு பிடிக்கவில்லை" என்பதைப் புரிந்துகொள்வதற்கு மிகவும் பயனுள்ளதாக இருக்கும்.

திசைவி முறை

இந்த அம்சம் ஆராய்வதற்கு மிகவும் சுவாரஸ்யமானதாக இருக்கலாம்.

ESP32 STA + SoftAP பயன்முறையில் ஒரே நேரத்தில் செயல்படுவதை ஆதரிக்கிறது. எனவே, நீங்கள் அதில் ஒரு உன்னதமான NAT திசைவியை செயல்படுத்தலாம்.

பிணைய அடுக்கை ஆதரிக்க, Espressif ஆனது lwip நூலகத்தின் முட்கரண்டியை (உண்மையில் மாறாமல்) பயன்படுத்துகிறது.

ஆனால், இயல்பாக, நிலையான கட்டமைப்பில், netif இடைமுகங்களான 'ap' (SoftAP) மற்றும் 'st' (STA) ஆகியவற்றுக்கு இடையே esp-lwip நூலகம் பகிர்தலை வழங்காது.

நிச்சயமாக, நீங்கள் அதை NAT இல்லாமல் செய்யலாம், ஆனால் ஒரே நேரத்தில் இரண்டு அல்லது அதற்கு மேற்பட்ட STAகளை 'ap' இடைமுகத்துடன் இணைப்பதிலும், IP முகவரிகளை 'st' நெட்வொர்க் இடைமுகத்திலிருந்து 'ap' க்கு ஒத்திசைப்பதிலும் சிக்கல் உள்ளது. எனவே சிரமங்கள் மதிப்புக்குரியவை அல்ல, மேலும் இது NAT மூலம் எளிதானது.

மேலும், Martin-ger இலிருந்து ஒரு fork esp-lwip உள்ளது, இது IP4 க்கு NAT இன் எளிமையான செயலாக்கத்தை சேர்க்கிறது.

என் கைகள் அதை முற்றிலும் அழகுக்காக ரீமேக் செய்ய அரிப்பு இருந்தாலும் (என் கருத்துப்படி, திட்டத்தின் ஃபோர்க் இல்லாமல் எளிதாக இருந்தது, ஆனால் LWIP மூலம்கொக்கி அசெம்பிளியின் போது செயல்பாடுகள் வரையறுக்கப்பட்டன), ஆனால் சோம்பேறித்தனம் நிலவியது மற்றும் மார்ட்டின்-ஜெரின் விருப்பம் அப்படியே பயன்படுத்தப்படுகிறது.

திசைவி பயன்முறையில், உள்வரும் மற்றும் வெளிச்செல்லும் IP4 போக்குவரத்து பார்க்கப்படுகிறது.

குறிப்பாக, திரையில் காண்பிக்க மற்றும் ஒரு கோப்பில் புள்ளிவிவரங்களை சேகரிப்பதற்காக பின்வருபவை அதிலிருந்து பிரித்தெடுக்கப்படுகின்றன:

  • SoftAP ESP32 (DHCP பாக்கெட்டுகள்) உடன் இணைக்கப்பட்ட சாதனத்தின் பெயர்
  • SoftAP ESP53 உடன் இணைக்கப்பட்ட சாதனத்திலிருந்து DNS கோரிக்கைகளிலிருந்து (UDP போர்ட் 32) URL.

கூடுதலாக, நீங்கள் PCAP கோப்பில் ட்ராஃபிக் பதிவை இயக்கலாம்.

இந்த பயன்முறை மிகவும் பயனுள்ளதாக இருக்கும், எடுத்துக்காட்டாக, உங்கள் தொலைபேசி நெட்வொர்க்கிற்கு என்ன அனுப்புகிறது மற்றும் அது எங்கு செல்கிறது என்பதைப் புரிந்து கொள்ள.

நெட்வொர்க் இடைமுக மட்டத்தில் softAP ESP32 உள்வரும் மற்றும் வெளிச்செல்லும் போக்குவரத்தை முழுமையாகக் கட்டுப்படுத்தும் திறனைக் கருத்தில் கொண்டு, இந்த பயன்முறையைப் பயன்படுத்துவதற்கான பிற வழிகளைப் பற்றி நீங்கள் சிந்திக்கலாம்: Ehernet தலைப்பு (destMAC[6]+srcMAC[6]+வகை[2]) + பேலோட் (IP4, IP6, DCHP, முதலியன வகை).

கொள்கையளவில், ESP32 ஆனது WiFi->WiFi திசைவி செயல்பாட்டைச் சிறப்பாகச் சமாளிக்கிறது, எந்த சிறப்பு தாமதமும் இல்லாமல் சாதாரண போக்குவரத்தை கடந்து செல்கிறது. அகநிலையாக, ESP32 இல் ரூட்டர் வழியாக இணைக்கப்பட்ட தொலைபேசியில் தாமதங்கள் கவனிக்கப்படாது.

துரதிர்ஷ்டவசமாக, SoftAP EPS32 உடன் இணைக்கப்பட்ட MACக்கான வடிப்பானை அமைக்கும் திறன் Espressif APIக்கு இல்லை. அதற்குப் பதிலாக, "விரும்பவில்லை" ஏற்கனவே இணைக்கப்பட்ட STAக்களுக்கு "குட்பை" (esp_wifi_deauth_sta) சொல்ல முன்மொழியப்பட்டுள்ளது.

இணைக்கப்பட்ட STAக்களுக்கான MAC மூலம் வடிகட்டுதல் esp_wifi_deauth_sta() அழைப்பின் மூலம் செய்யப்பட வேண்டும்

முடிவில்

ESP32 உடன் பணிபுரியும் கட்டமைப்பிற்குள் நான் புதிதாக எதையும் கொண்டு வரவில்லை என்றாலும், ஒருவேளை முடிவு (மூலக் குறியீடு) ஒருவருக்கு சுவாரஸ்யமாக இருக்கும்.

குறியீடு கல்வி நோக்கங்களுக்காக மட்டுமே எழுதப்பட்டது என்பதை நான் கவனிக்க விரும்புகிறேன். "ஹேக்கிங்" போன்றவற்றுக்கு, இது வேண்டுமென்றே மிகவும் வசதியாக இல்லாமல் செய்யப்பட்டது.

நான் அச்சிடப்பட்ட சர்க்யூட் போர்டை உருவாக்கவில்லை, ஏனென்றால் முடிக்கப்பட்ட தாவணியை கம்பி மூலம் சாலிடர் செய்ய 1.5-2 மணிநேரம் ஆனது.

நீங்கள் செய்தால், நீங்கள் அதை ஆயத்த பலகைகளிலிருந்து அல்ல, ஆனால் தனிப்பட்ட கூறுகளிலிருந்து சேகரிக்க வேண்டும். பின்னர் பரிமாணங்கள் இன்னும் சிறியதாக இருக்கும்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்