
ΠΠ΄ΡΡ Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΈ Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ ΠΏΠΎΡΡΠ°ΡΠΈΠ²Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° WiFi ΠΌΡΠ΅ΠΆΠΈ Π΄ΠΎΠΉΠ΄Π΅ ΠΎΡ .
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΈΠΌ Π·Π° ΠΈΠ΄Π΅ΡΡΠ°. Π’ΡΠΊΠΌΠΎ Π½ΡΠΌΠ°ΡΠ΅ Ρ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌ.
Π¦ΡΠ»Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π±Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½Π° Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Ρ
ΠΎΠ±ΠΈ Ρ ΡΠ΅Π» Π½Π°ΡΠ»Π°ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Π·Π½Π°Π½ΠΈΡΡΠ° ΠΌΠΈ Π² ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. ΠΠ°Π²Π½ΠΎ, ΠΏΠΎ 1..4 ΡΠ°ΡΠ° Π½Π° ΡΠ΅Π΄ΠΌΠΈΡΠ°, ΠΎΡ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΠ°Π·ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π°.
ΠΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Ρ
ΠΏΡΠΈΠ»ΠΎΠΆΠ½ΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅. Π’.Π΅. ΡΠΎΠ²Π° ΠΠ Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° Ρ
Π°ΠΊΠ΅ΡΠΈ.
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅Π»ΠΈΡΡ Π·Π°ΠΌΠΈΡΠ»Π΅Π½ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΡΠ°Π±ΠΎΡΠΈ. ΠΡΠΈΡΠΊΠΈ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅, Π½Π°ΠΏΡΠ»Π½ΠΎ Π³ΠΎΡΠΎΠ²ΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ, . Π’Π°ΠΌ ΡΡΡΠΎ ΠΈΠΌΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΠΈ Ρ.Π½. Π ΡΠ°Π·ΠΈ Π·Π°Π±Π΅Π»Π΅ΠΆΠΊΠ° Π½ΡΠΌΠ° Π΄Π° Π΄ΡΠ±Π»ΠΈΡΠ°ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ°, ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° Π½Π° github. Π©Π΅ ΡΠΏΠΎΠ΄Π΅Π»Ρ ΡΠ°ΠΌΠΎ ΠΎΠ½ΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΡΠΌΡΡΠ°ΠΌ Π·Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΎΠΏΠΈΡΠ° ΠΎΡΠ΄Π΅Π»Π½ΠΎ.
ΠΠΎΠ΅ΡΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅ Π·Π° "ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ" ΠΈ ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ° Π·Π° ΠΈΠ·Π±ΠΎΡΠ° Π½Π° ESP32
ΠΠ΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΠΈΡΠ°ΠΌ Π·Π° ΠΈΡΡΠΈΠ½Π°ΡΠ°. Π’Ρ Π΅ ΡΠ°Π·Π»ΠΈΡΠ½Π° Π·Π° Π²ΡΠ΅ΠΊΠΈ. Π©Π΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌ Π΄Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈΡΠ°ΠΌ ΠΈΠ·Π±ΠΎΡΠ° ΡΠΈ Π½Π° "ΠΆΠ΅Π»Π΅Π·ΠΎ".
Π²Π°ΡΠΈΠ°Π½Ρ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΎΡ Linux (ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Raspberry Pi) + ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΡ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ (STM32) + CC1110 (ΡΠ΄ΡΠΎ 8051) ΠΈ ΠΏΠ»Π°Π½ Π΄Π° Π²ΠΌΡΠΊΠ½Π° ΡΠ°ΠΌ Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ (125kHz, NFC, 433mHz, USB, iButton, bluetooth, ?) Π½Π΅ ΠΌΠΈ ΡΠ΅ ΡΡΠΎΡΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ΅ ΠΎΡΡΠ°Π½Π΅ ΡΠ°ΡΡΠ΅Π½ ΠΈ Π·Π°ΡΠ²ΠΎΡΠ΅Π½ (flipper-zero github "Π’Π°Π·ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π½ΡΠΌΠ° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.") ΠΈ ΡΠ΅ Π½Π°ΡΠΎΡΠΈΡ ΠΊΡΠΌ Π½Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΎ "ΠΆΠ΅Π»Π΅Π·ΠΎ".
ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° Π³ΡΠ΅ΡΠ° ΠΈ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ Π°Π²ΡΠΎΡΠΈΡΠ΅ Π΄Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° ΡΠΎΡΡΡΠ΅ΡΠ° Π² ΠΎΡΠΊΡΠΈΡ Π΄ΠΎΡΡΡΠΏ. ΠΠΎ Π°ΠΊΠΎ Π½Π΅, Π½Π΅ Π±ΠΈΡ ΠΊΡΠΏΠΈΠ» ΡΠ°ΠΊΠΎΠ²Π° "ΠΆΠ΅Π»Π΅Π·ΠΎ" Π±Π΅Π· ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅.
ΠΠΎΠΈΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ ΠΊΡΠΌ "ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°"
ΠΠΎΡΠΎΠ±ΠΊΠ°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° Π΅ ΠΌΠ°Π»ΠΊΠ° (ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ°, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅).
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ:
- ΠΠ³ΡΠ°Π΄Π΅Π½ Π°ΠΊΡΠΌΡΠ»Π°ΡΠΎΡ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ. ΠΡΠΈ ΡΠΎΠΊ > 100 mA ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Wifi, Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΡ Π°ΠΊΡΠΌΡΠ»Π°ΡΠΎΡ ΠΈΠ»ΠΈ ΡΠ΅ Π΅ Π³ΠΎΠ»ΡΠΌ, ΠΈΠ»ΠΈ ΡΠ΅ ΡΠ΅ ΠΈΠ·ΡΠ΅ΡΠΏΠΈ Π±ΡΡΠ·ΠΎ. ΠΠ°ΡΠΎΠ²Π° Π½Π΅ΠΊΠ° "ΠΊΠΎΡΠΎΠ±ΠΊΠ°ΡΠ°" Π΄Π° ΡΠ΅ Π·Π°Ρ ΡΠ°Π½Π²Π° ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ power bank. ΠΡΠ΅ ΠΏΠ°ΠΊ, power bank Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π² Π΄ΠΆΠΎΠ±Π°/ΠΊΠΎΠ»Π°ΡΠ° ΠΌΠΈ.
- ΠΡΡΡΠ΅ Π² "ΠΊΠΎΡΠΎΠ±ΠΊΠ°ΡΠ°" Π΄Π° ΠΈΠΌΠ° Linux Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, Π½Π°ΠΏΠ°Π·Π²Π°Π½ΠΈ ΠΏΡΠ΅Π· ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π΅Π·ΠΈΡΠΈ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π° ΠΌΠ°Π»ΡΠΊ Π΅ΠΊΡΠ°Π½ ΠΈ ΠΎΡΠΊΡΠ΄Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠΈ Π±ΡΡΠΎΠ½ΠΈ Π½ΡΠΌΠ° ΡΠΌΠΈΡΡΠ». Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π³Π»Π΅Π΄Π°Ρ/ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΈ Π½Π° Π½ΠΎΡΠΌΠ°Π»Π΅Π½ Π»Π°ΠΏΡΠΎΠΏ Ρ ΠΏΡΠ»Π½ΠΎΡΠ΅Π½Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΠΈ Π΅ΠΊΡΠ°Π½.
- ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ° Π»Π΅ΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΠΈ ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ (Π΄ΠΎΡΡΡΠΏΠ΅Π½ SDK, ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΈ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ).
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π°, Π·Π° ΠΌΠ΅Π½, ΠΈΠ·Π±ΠΎΡΡΡ Π±Π΅ΡΠ΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½ β ESP32.
ΠΠ° Π²ΡΠΈΡΠΊΠΈ Π·Π°Π΄Π°ΡΠΈ, ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ Π² ΡΡΠ°ΡΠΈΡΡΠ°, ΠΊΠΎΡΡΠΎ ΠΌΠ΅ ΠΏΠΎΠ΄ΡΠΈΠΊΠ½Π° ΠΊΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ESP32 ΡΠ° Π½Π°ΠΏΡΠ»Π½ΠΎ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΈΡΠΊΠ°ΠΌ Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ, Π΅:
- ΠΠ° ΠΏΠΎΠ΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ°ΠΌ Ρ Bluetooth.
- ΠΠ° ΠΏΠΎΠ΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ°ΠΌ Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° 433mHz Ρ Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠΈΡ Ρ Π°ΡΠ΄ΡΠ΅Ρ (ΡΠ°ΠΌΠΎ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Π½Π° ΠΌΠΎΠ΄ΡΠ»Π°ΡΠΈΡ, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π·Π° ΠΏΠΎΡΡΠΈ Π²ΡΠΈΡΠΊΠΈ Π½ΡΠΆΠ΄ΠΈ).
ΠΡΠΆΠΈΡΠ° ΠΊΠ°ΡΡΠ°Π½ Π² ESP32
- SDK (IDF) Π½Π° ESP32 Π΅ ΠΌΠ°Π»ΠΊΠΎ ΡΡΠΎΠΌΠ°Π²ΠΎ.
- Π§Π°ΡΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° (WiFi ΡΡΠ΅ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ) ΠΈΠ΄Π²Π° Π±Π΅Π· ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΈ ΡΡΠ°ΡΠΈΡΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
- ΠΠ΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΡΡ 5gHz ΠΈ ΠΈΠΌΠ° Π½ΡΠΊΠΎΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ WiFi.
ΠΠΎ ΡΠ΅Π½Π°ΡΠ°/ΡΠ°Π·ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΠ°Ρ ΡΠ΅Π·ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ.
ΠΡΠ½ΠΎΠ²Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π½Π° ΡΠΎΡΡΡΠ΅ΡΠ°
ΠΠ°ΠΊΡΠ°ΡΠΊΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° ΠΈ ΠΌΠ½Π΅Π½ΠΈΠ΅ΡΠΎ ΡΠΈ Π·Π°β¦
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ SD
ΠΡΠΈΡΠΊΠΎΡΠΎ Π²ΡΠ½ΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΎ ΡΡΠ΅Π· Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠ°ΡΠ° ΡΠ΅Π± ΡΡΡΠ°Π½ΠΈΡΠ°, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΡΠ½ΠΊΡ Π² ΠΌΠ΅Π½ΡΡΠΎ. ESP32 ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌ WiFi AP ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π° ΡΠΈΠΊΡΠΈΡΠ°Π½ IP Π°Π΄ΡΠ΅Ρ.
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΠ΄ΡΠ°ΡΠ° Π½Π° ESP32 ΡΠ° Π΄ΠΎΡΡΠ° Π±ΡΡΠ·ΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ
Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ΅, Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½Π°ΡΠ° ΡΠ΅Π± ΡΡΠ»ΡΠ³Π° ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΆΠΈΠΌΡΡ ΡΡΡΠ΅Ρ Π½Π΅ ΡΠ΅ ΡΡΡΠ΅ΡΠ°Π²Π°Ρ ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π΄ΠΎΠ±ΡΠ΅. ΠΠ°ΡΠΎΠ²Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎΡΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ Π΅ Π½Π°Π»ΠΈΡΠ½ΠΎ ΠΈ Π² ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΠΈ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π΅ Π΅ Π΄ΠΎΡΡΡΠΏΠ½Π°.
Π’Π΅ΠΌ ΠΏΠΎΠ²Π΅ΡΠ΅, ΡΠ΅ Π·Π° ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠΊΠΈ ΡΠ΅Π»ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎΡΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ.
Π Π΅ΠΆΠΈΠΌ Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ Beacon ΠΏΠ°ΠΊΠ΅ΡΠΈ
Π Π΅ΠΆΠΈΠΌΠΈΡΠ΅ ΡΠ° Π±Π°Π½Π°Π»Π½ΠΈ ΠΈ Π½Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ. ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ° "Π·Π°ΡΠΎΡΠΎ ΠΌΠΎΠΆΠ΅". ΠΠ° Π³Π°Π»ΠΎΡΠΊΠ°.
ΠΡΠΈΠΌΠ΅ΡΠΈ ΠΈΠΌΠ° Π² ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π½Π° Espressif.
Π Π΅ΠΆΠΈΠΌ Π½Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΏΠΈΡΡΡΠΈ AP.
ΠΡΡΡΠ½ΠΎΡΡ, ΡΠΎΠ²Π° ΡΠΌΠ΅Π΅ Π΄Π° ΠΏΡΠ°Π²ΠΈ Π²ΡΠ΅ΠΊΠΈ ΡΠΌΠ°ΡΡΡΠΎΠ½.
ΠΡΠ΅ ΠΏΠ°ΠΊ Π² ΡΠΎΠ·ΠΈ ΡΠ΅ΠΆΠΈΠΌ ΡΠ΅ ΡΠ΅ Π·Π°ΠΏΠΈΡΠ΅ ΡΠΏΠΈΡΡΠΊ Ρ AP.
Beacon ΡΠΏΠ°ΠΌΠ΅Ρ.
ESP32 ΡΡΠ°ΡΡΠΈΡΠ° ΠΊΠ°ΡΠΎ AP Ρ ΡΠΊΡΠΈΡ SSID ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ MAC Π°Π΄ΡΠ΅Ρ ΠΈ Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° [beacon frame] ΠΎΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΡΠΏΠΈΡΡΠΊ SSID (ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΡΡΡΠ½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΏΡΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΏΠΈΡΡΠΊΠ° AP)
Π Π΅ΠΆΠΈΠΌ Π½Π° sniffing Π½Π° WiFi ΠΏΠ°ΠΊΠ΅ΡΠΈ
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Espressif Π΄ΠΎΠ±Π°Π²ΠΈΡ Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΡΡΠ΅Π· callback ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠΈΡΠΊΠΈ WiFi ΠΏΠ°ΠΊΠ΅ΡΠΈ, "ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΡΠΈ Π²ΡΠ² Π²ΡΠ·Π΄ΡΡ Π°". ΠΡΡΡΠ½ΠΎΡΡ Π½Π΅ Π²ΡΠΈΡΠΊΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅ΠΆΠΈΠΌΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½ ΡΠ°ΠΌΠΎ Π·Π° Π΅Π΄ΠΈΠ½ ΡΠΈΠΊΡΠΈΡΠ°Π½ ΠΊΠ°Π½Π°Π».
ΠΠ°Π»ΠΎΠΆΠΈΠ» ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠΎΠ³ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π²ΡΡΡ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π½Π° callback ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠΊΠ°ΡΠΎ Π·Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΠΏΡΠΎΡΡΠΎΡΠΎ ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΡΠΎΠ²Π° Π½Π΅ ΡΡΠ·Π΄Π°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π·Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° Π·Π°ΠΏΠΈΡ Π½Π° PCAP ΡΠ°ΠΉΠ» Π½Π° SD ΠΊΠ°ΡΡΠ° ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠ°Π±ΠΎΡΠ°, ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΠΉΠΊΠΈ Π·Π°ΠΏΠΈΡ ΡΡΠ΅Π· ΠΎΠΏΠ°ΡΠΊΠ° Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ ΡΠ΅ΠΌΠ°ΡΠΎΡΠΈ. Π‘ ΠΎΠ³Π»Π΅Π΄ Π½Π° ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΡΠ°, ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π° callback, ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π΅Π΄Π½ΠΎ ΡΠ΄ΡΠΎ, Π° ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π° Π·Π°ΠΏΠΈΡΠ° Π½Π° SD ΠΊΠ°ΡΡΠ°, Π½Π° Π΄ΡΡΠ³ΠΎ.
ΠΡΠΈ "ΡΡΠΌΠ½ΠΎ Π΅ΡΠΈΡΠ½ΠΎ" ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½ΡΠΊΠΎΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠ΅ Π³ΡΠ±ΡΡ (Π² ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π½ΡΠΌΠ° ΠΌΡΡΡΠΎ ΠΈ ΡΠ΅ ΡΠ΅ ΠΎΡΡ Π²ΡΡΠ»ΡΡ), Π½ΠΎ ΠΏΡΠΈ ΡΠΈΠΏΠΈΡΠ½ΠΈΡ "Π΅ΡΠΈΡ" Π½Π° Π°ΠΏΠ°ΡΡΠ°ΠΌΠ΅Π½ΡΠΈΡΠ΅ Π²Π΅ΡΠ΅Ρ (5..7 AP Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ) Π·Π°ΠΏΠΈΡΡΡ Π² PCAP ΡΡΠΏΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠΈ Π±Π΅Π· Π·Π°Π³ΡΠ±Π° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ.
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ, Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ Π·Π°ΠΏΠΈΡ Π½Π° PCAP ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ ΠΏΠΎ ΡΠΏΠΈΡΡΠΊ Ρ MAC Π°Π΄ΡΠ΅ΡΠΈ Π² Π·Π°Π³Π»Π°Π²ΠΈΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΠ΅ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° ΡΠΎΠ²Π΅ΠΊ Π² ΠΊΠ»ΡΠ± ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ΅Π½Π΅, ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠΉ ΠΈΠ·ΠΎΠ±ΡΠΎ Π΄Π° Π΅ Π²Π»ΡΠ·ΡΠ» ΠΈΠ»ΠΈ ΡΠ΅ Π΅ ΠΏΠΎΡΠ²ΠΈΠ» Π² ΠΏΠΎΠ»Π΅Π·ΡΠ΅Π½ΠΈΠ΅ΡΠΎ. ΠΠ°Π»ΠΊΠΎ Ρ ΠΎΡΠ° ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Ρ WiFi ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΈΡΠ΅ Π²ΡΡΠ·ΠΊΠΈ Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ AP. (ΠΠ· ΡΠ΅Π³Π° Π³ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°ΠΌ..)
ΠΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊ Π² Wireshark Π΅ ΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»Π½ΠΎ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊ Π²ΡΠΈΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈ.
Π Π΅ΠΆΠΈΠΌ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ deauth ΠΏΠ°ΠΊΠ΅ΡΠΈ
ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π·ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π΅ Π·Π°Π±ΡΠ°Π½Π΅Π½ΠΎ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libnet80211.a, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π±Π΅Π· ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄. ΠΠΎ Π½Π΅ Π΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠΈ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅, ΠΊΠ°ΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π±Π°ΠΉΡΠ°. ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΠ΅ ΡΡΠΌΠ½ΡΠ²Π°Ρ Π΄Π°Π»ΠΈ Π΄Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°ΠΌ ΠΏΠ°ΡΠ°. ΠΠΎ ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΡΠ° Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΠ° Π½Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ [deauthentication frame], ΠΏΠΎΠΌΠΈΡΠ»ΠΈΡ : "ΠΊΠ°ΠΊΠ²ΠΎ, ΠΏΠΎ Π΄ΡΠ²ΠΎΠ»ΠΈΡΠ΅". ΠΡΠΎΠ±Π΅Π½ΠΎ, Π·Π°ΡΠΎΡΠΎ Π² esp8266 ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π·ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π΅ Π΅ Π·Π°ΡΠ²ΠΎΡΠ΅Π½ΠΎ ΠΈ ΠΈΠΌΠ° ΡΠ±ΠΎΡΠΊΠΈ Π½Π° github Π·Π° esp8266.
Π ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° (Π½ΡΠΌΠ° Π΄Π° ΠΊΠ°Π·Π²Π°ΠΌ ΠΊΡΠ΄Π΅) ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΡΠΈΡΠΊΠ°Π½Π΅ Π½Π° Π½Π΅ΠΆΠ΅Π»Π°Π½ΠΈ AP ΡΡΠ΅Π· ΡΠΎΠ·ΠΈ ΠΌΠ΅ΡΠΎΠ΄. Π ΡΠΎΠ²Π° Π½Π΅ ΡΠ° "Ρ ΡΠ»ΠΈΠ³Π°Π½ΠΈ"...
Π Π°Π· ΡΠ΅ ΡΡΡΠ΄Π²Π°Ρ , ΡΠ΅ ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΡΡ ΠΎΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΌΠΈ Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ...
Π Π΅ΠΆΠΈΠΌΡΡ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ ΠΈ RSSI Π½Π° ΡΠ°ΠΊΠΈΠ²Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ "ΠΊΡΠ΄Π΅ Π½Π΅ ΠΎΠ±ΠΈΡΠ°Ρ Π»Π΅Π²ΠΈΡΠ΅ AP".
Π Π΅ΠΆΠΈΠΌ Π½Π° ΡΡΡΠ΅Ρ
Π’Π°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π΅ Π½Π°ΠΉ-ΠΈΠ½ΡΠ΅ΡΠ°ΡΠ½Π°ΡΠ° ΠΎΡ Π²ΡΠΈΡΠΊΠΈ Π·Π° ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½Π΅.
ESP32 ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π° ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌ STA + SoftAP. ΠΠ°ΡΠΎΠ²Π° Π½Π° Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈ NAT ΡΡΡΠ΅Ρ.
ΠΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ΅ΠΊ Espressif ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° fork (ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅Π· ΠΏΡΠΎΠΌΠ΅Π½ΠΈ) Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° lwip.
ΠΠΎ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° esp-lwip ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈΡΠ΅ netif βapβ(SoftAP) ΠΈ βstβ (STA) Π½Π΅ ΠΏΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π° ΠΏΡΠΎΠ±ΡΠΎΡ.
Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΈ Π±Π΅Π· NAT, Π½ΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°ΡΠ° Π²ΡΡΠ·ΠΊΠ° Π½Π° Π΄Π²Π° ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ STA ΠΊΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° 'ap' ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π½Π° IP Π°Π΄ΡΠ΅ΡΠΈΡΠ΅ ΠΎΡ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ 'st' ΠΊΡΠΌ 'ap'. ΠΠ°ΡΠΎΠ²Π° ΡΡΡΠ΄Π½ΠΎΡΡΠΈΡΠ΅ Π½Π΅ ΡΠ° ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΈ ΠΈ Π΅ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ ΠΏΡΠ΅Π· NAT.
ΠΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅, ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° fork esp-lwip ΠΎΡ martin-ger, Π² ΠΊΠΎΠΉΡΠΎ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΡΠΎΡΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° NAT Π·Π° IP4.
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΡΡΠ΅ΡΠ΅ ΠΌΠΈ ΡΠ΅ ΠΈΠ·Π³Π°ΡΡΡ Π° Π΄Π° Π³ΠΎ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠΎ ΠΊΠΎΠ·ΠΌΠ΅ΡΠΈΡΠ½ΠΎ (ΡΠΏΠΎΡΠ΅Π΄ ΠΌΠ΅Π½, ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π±Π΅ΡΠ΅ Π±Π΅Π· fork ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° ΡΡΠ΅Π· LWIP), Π½ΠΎ ΠΌΡΡΠ·Π΅Π»ΡΡ ΡΠΏΠ΅ΡΠ΅Π»ΠΈ ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΡΡ ΠΎΡ martin-ger ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΠΊΡΠΎ Π΅.HOOK ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΈ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅), Π½ΠΎ ΠΌΡΡΠ·Π΅Π»ΡΡ ΠΏΠΎΠ±Π΅Π΄ΠΈ ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΡΡ ΠΎΡ martin-ger ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°ΠΊΡΠ², ΠΊΠ°ΠΊΡΠ²ΡΠΎ Π΅.
Π ΡΠ΅ΠΆΠΈΠΌ ΡΡΡΠ΅Ρ ΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π° Π²Ρ ΠΎΠ΄ΡΡΠΈΡΡ ΠΈ ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠΈΡΡ IP4 ΡΡΠ°ΡΠΈΠΊ.
Π ΡΠ°ΡΡΠ½ΠΎΡΡ, ΠΎΡ Π½Π΅Π³ΠΎ ΡΠ΅ ΠΈΠ·Π²Π°ΠΆΠ΄Π°Ρ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΅ΠΊΡΠ°Π½Π° ΠΈ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π² ΡΠ°ΠΉΠ»:
- ΠΠΌΠ΅ΡΠΎ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π΅ ΡΠ²ΡΡΠ·Π°Π»ΠΎ ΡΡΡ SoftAP ESP32 (DHCP ΠΏΠ°ΠΊΠ΅ΡΠΈ)
- URL ΠΎΡ DNS Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ (UDP ΠΏΠΎΡΡ 53) ΠΎΡ ΡΠ²ΡΡΠ·Π°Π½ΠΎΡΠΎ ΠΊΡΠΌ SoftAP ESP32 ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ.
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈ Π·Π°ΠΏΠΈΡ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° Π² PCAP ΡΠ°ΠΉΠ».
Π’ΠΎΠ·ΠΈ ΡΠ΅ΠΆΠΈΠΌ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ Π²Π°ΡΠΈΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΈ ΠΊΡΠ΄Π΅ ΠΎΡΠΈΠ²Π°.
ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΌΠΈΡΠ»ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈ Π½Π°ΡΠΈΠ½ΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ ΡΠ΅ΠΆΠΈΠΌ, ΠΈΠΌΠ°ΠΉΠΊΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π½Π°ΠΏΡΠ»Π½ΠΎ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΈ ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡΠ°ΡΠΈΠΊ Π½Π° SoftAP ESP32 Π½Π° Π½ΠΈΠ²ΠΎ ΠΌΡΠ΅ΠΆΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ: Ethernet Π·Π°Π³Π»Π°Π²ΠΈΠ΅ (destMAC[6]+srcMAC[6]+type[2]) + ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΡΠΎΠ²Π°Ρ (IP4, IP6, DHCP ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠΈΠΏΠΎΠ²Π΅).
Π ΠΏΡΠΈΠ½ΡΠΈΠΏ, ESP32 ΡΠ΅ ΡΠΏΡΠ°Π²Ρ Π΄ΠΎΠ±ΡΠ΅ Ρ ΡΡΠ½ΠΊΡΠΈΡΡΠ° WiFi->WiFi ΡΡΡΠ΅Ρ, ΠΏΡΠΎΠΏΡΡΠΊΠ°ΠΉΠΊΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊ Π±Π΅Π· ΠΎΡΠΎΠ±Π΅Π½ΠΈ Π·Π°Π±Π°Π²ΡΠ½ΠΈΡ. Π‘ΡΠ±Π΅ΠΊΡΠΈΠ²Π½ΠΎ, Π·Π°Π±Π°Π²ΡΠ½ΠΈΡΡΠ° Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, ΡΠ²ΡΡΠ·Π°Π½ ΡΡΠ΅Π· ΡΡΡΠ΅Ρ Π½Π° ESP32, Π½Π΅ ΡΠ° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΈ.
ΠΠ° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅, Π² API Π½Π° Espressif Π½ΡΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π΄Π΅ ΡΠΈΠ»ΡΡΡ ΠΏΠΎ MAC Π½Π° ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ ΠΊΡΠΌ SoftAP EPS32 ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ²Π° ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° ΠΊΠ°ΠΆΠ΅ΡΠ΅ 'ΡΠ±ΠΎΠ³ΠΎΠΌ' (esp_wifi_deauth_sta) Π½Π° Π²Π΅ΡΠ΅ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ STA, ΠΊΠΎΠΈΡΠΎ ΡΠ° 'Π½Π΅Π΄ΠΎΡ ΠΎΠ΄ΠΈΠΌΠΈ'.
Π€ΠΈΠ»ΡΡΠ°ΡΠΈΡΡΠ° ΠΏΠΎ MAC Π·Π° ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ STA Π±Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π΅Π½Π° ΡΡΠ΅Π· ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° esp_wifi_deauth_sta()
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π½Π΅ ΠΈΠ·ΠΌΠΈΡΠ»ΠΈΡ Π½ΠΈΡΠΎ Π½ΠΎΠ²ΠΎ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ ESP32, Π½ΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π° Π½ΡΠΊΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ (ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄) Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½.
ΠΠΈΡ ΠΈΡΠΊΠ°Π» Π΄Π° ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Ρ, ΡΠ΅ ΠΊΠΎΠ΄ΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎ Π·Π° ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΈ ΡΠ΅Π»ΠΈ. ΠΠ° 'Ρ Π°ΠΊΠ΅ΡΡΡΠ²ΠΎ' ΠΈ Ρ.Π½. Π΅ ΡΠΌΠΈΡΠ»Π΅Π½ΠΎ Π½Π°ΠΏΡΠ°Π²Π΅Π½ Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π΅Π½.
ΠΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΏΠ΅ΡΠ°ΡΠ½Π° ΠΏΠ»Π°ΡΠΊΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π·Π° ΡΠΏΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅ ΠΏΠ»Π°ΡΠΊΠΈ Ρ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΡΠΈ ΠΌΠΈ ΠΎΡΠ½Π΅ ΠΎΠΊΠΎΠ»ΠΎ 1.5-2 ΡΠ°ΡΠ°.
Π Π°ΠΊΠΎ ΠΏΡΠ°Π²ΠΈΡΠ΅, ΡΡΡΠ±Π²Π° Π΄Π° Π½Π΅ ΡΠ΅ ΡΡΠ±ΠΈΡΠ°Ρ ΠΎΡ Π³ΠΎΡΠΎΠ²ΠΈ ΠΏΠ»Π°ΡΠΊΠΈ, Π° ΠΎΡ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. Π’ΠΎΠ³Π°Π²Π° ΡΠ°Π·ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΎΡΠ΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
