ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Wi-Fi: ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, скрипты ΠΈ автоматизация

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ бСспроводными интСрфСйсами Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠ΄Π° β€” это Π½Π°Π²Ρ‹ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ систСмным администраторам, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ IoT-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ энтузиастам Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ситуация, ΠΊΠΎΠ³Π΄Π° стандартный графичСский интСрфСйс нСдоступСн, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ трСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствиС Π² Ρ€Π°ΠΌΠΊΠ°Ρ… скрипта Π±Π΅Π· участия Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° позволяСт ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Ρ‚ΡŒΡŽ Π² Π±ΠΎΠ»Π΅Π΅ слоТныС сцСнарии, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ автоматичСский Ρ€Π΅Π±ΡƒΡ‚ Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π° ΠΏΡ€ΠΈ ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π° ΠΈΠ»ΠΈ запуск сСрвСра Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ соСдинСния.

БущСствуСт мноТСство способов Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ бСспроводной ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΈ Π²Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ ΠΏΡ€Π°Π² доступа ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’ Windows это часто дСлаСтся Ρ‡Π΅Ρ€Π΅Π· netsh ΠΈΠ»ΠΈ PowerShell, Π² Linux β€” Ρ‡Π΅Ρ€Π΅Π· nmcli ΠΈΠ»ΠΈ iwconfig, Π° Π² macOS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° networksetup. ПониманиС этих Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ критичСски Π²Π°ΠΆΠ½ΠΎ для написания кроссплатформСнных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Wi-Fi Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, рассмотрим Π½ΡŽΠ°Π½ΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ администратора ΠΈ обсудим, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ сСтСвых процСссов. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ Π² свои ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹.

Автоматизация Π² срСдС Windows: PowerShell ΠΈ CMD

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Windows ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сСтСвыми интСрфСйсами историчСски ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ»ΠΎΡΡŒ Ρ‡Π΅Ρ€Π΅Π· ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки netsh. Однако соврСмСнныС вСрсии ОБ всС большС ΡΠΌΠ΅Ρ‰Π°ΡŽΡ‚ фокус Π² сторону PowerShell, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ инструмСнтарий для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ систСмы. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Wi-Fi Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала ΡƒΠ·Π½Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ часто отличаСтся ΠΎΡ‚ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ "Wi-Fi" ΠΈΠ»ΠΈ "БСспроводная ΡΠ΅Ρ‚ΡŒ".

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список всСх сСтСвых интСрфСйсов, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ netsh interface show interface. Π’ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ строку, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ бСспроводному Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρƒ, ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. ПослС этого для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° netsh interface set interface name="Имя_АдаптСра" admin=enabled. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ запуску консоли ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании ΠΊΠΎΠΌΠ°Π½Π΄ netsh Π² 64-Π±ΠΈΡ‚Π½Ρ‹Ρ… систСмах ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚, Ссли 32-Π±ΠΈΡ‚Π½Ρ‹ΠΉ процСсс пытаСтся ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ систСмными сСтСвыми настройками. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ваш скрипт запускаСтся Π² срСдС с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ.

Π‘ΠΎΠ»Π΅Π΅ соврСмСнным ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ являСтся использованиС модуля NetAdapter Π² PowerShell. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»Π΅Π½, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Windows ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ ошибкам Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅Π½ интСрфСйсов. Команда Enable-NetAdapter -Name "Wi-Fi" выглядит ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ читаСтся Π»Π΅Π³Ρ‡Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΠΊΠΎΠ΄Π°.

Рассмотрим основныС различия Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΡΠ΅Ρ‚ΡŒΡŽ:

  • πŸ”Ή Netsh: legacy-инструмСнт, доступСн Π²ΠΎ всСх вСрсиях Windows, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Server Core, Π½ΠΎ синтаксис ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π΅Π½.
  • πŸ”Ή PowerShell: Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ установки ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² старых вСрсиях ОБ, Π½ΠΎ прСдоставляСт Π»ΡƒΡ‡ΡˆΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с систСмой событий ΠΈ логирования.
  • πŸ”Ή WMI/CIM: позволяСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· классы Win32_NetworkAdapter, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ управлСния, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ слоТного ΠΊΠΎΠ΄Π°.

Для создания ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ скрипта часто трСбуСтся Π½Π΅ просто Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€, Π½ΠΎ ΠΈ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ Π΅Π³ΠΎ готовности ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅. ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ появлСния сСти. Π‘Ρ€Π΅Π΄Π½Π΅Π΅ врСмя ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° бСспроводной сСти послС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ составляСт ΠΎΡ‚ 3 Π΄ΠΎ 15 сСкунд, ΠΈ этот Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ написании Π»ΠΎΠ³ΠΈΠΊΠΈ оТидания.

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ управлСния ΡΠ΅Ρ‚ΡŒΡŽ Π² Windows Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
PowerShell
CMD (netsh)
ГрафичСский интСрфСйс
Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠΉ софт

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Wi-Fi Π² Linux: NetworkManager ΠΈ систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹

Π’ ΠΌΠΈΡ€Π΅ Linux ситуация с ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Wi-Fi выглядит Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΠΉ ΠΈΠ·-Π·Π° мноТСства дистрибутивов ΠΈ сСтСвых ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ². НаиболСС распространСнным инструмСнтом являСтся NetworkManager, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки nmcli. Π­Ρ‚ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСтСвоС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±Π΅Π· использования графичСской ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ бСспроводного устройства Ρ‡Π΅Ρ€Π΅Π· nmcli ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° nmcli radio wifi on. Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ интСрфСйс, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ nmcli connection up id "Имя_БоСдинСния". ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Linux являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ "Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅" ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ физичСского Ρ€Π°Π΄ΠΈΠΎ-модуля, Ρ‚Π°ΠΊ ΠΈ поднятиС логичСского интСрфСйса. Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ этими состояниями ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Π° ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅.

#!/bin/bash

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° состояния Wi-Fi

status=$(nmcli radio wifi)

if [ "$status" == "disabled" ]; then

echo "Wi-Fi Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ..."

nmcli radio wifi on

else

echo "Wi-Fi ΡƒΠΆΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½."

fi

Если Π² систСмС Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ NetworkManager (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² минималистичных сСрвСрных сборках), ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· ip link ΠΈΠ»ΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ ifconfig. Команда ip link set wlan0 up ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅Ρ‚ интСрфСйс, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ запускаСт процСсс сканирования сСтСй ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ часто трСбуСтся запуск Π΄Π΅ΠΌΠΎΠ½Π° wpa_supplicant.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ ΠΏΡ€Π°Π²Π°Ρ… доступа. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Windows, Π³Π΄Π΅ достаточно Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ консоль ΠΎΡ‚ Π°Π΄ΠΌΠΈΠ½Π°, Π² Linux для выполнСния сСтСвых ΠΊΠΎΠΌΠ°Π½Π΄ часто трСбуСтся использованиС sudo ΠΈΠ»ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ netdev. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка ΠΏΡ€Π°Π² ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ скрипт выполнится, Π½ΠΎ Π½Π΅ даст Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Ρ‡Ρ‚ΠΎ слоТно Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ.

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΠΈ скрипты для macOS

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма macOS, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰Π°ΡΡΡ Π½Π° UNIX, ΠΈΠΌΠ΅Π΅Ρ‚ свои ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ особСнности управлСния ΡΠ΅Ρ‚ΡŒΡŽ. Основной ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сСтСвыми настройками ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки являСтся networksetup. Однако, начиная с macOS Monterey ΠΈ особСнно Π² Ventura/Sonoma, Apple внСдряСт Π½ΠΎΠ²Ρ‹Π΅ ограничСния бСзопасности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сСтСвых ΠΊΠΎΠΌΠ°Π½Π΄ скриптами Π±Π΅Π· явного Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Wi-Fi Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° networksetup -setairportpower en0 on, Π³Π΄Π΅ en0 β€” это стандартноС имя бСспроводного интСрфСйса (хотя Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Mac с нСсколькими сСтСвыми ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ). Π£Π·Π½Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ имя устройства ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ networksetup -listallhardwareports.

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² macOS Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ систСма ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ подтвСрТдСния дСйствий, Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Π΅Ρ€Π΅Π· Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠ½Π°, Π΄Π°ΠΆΠ΅ Ссли скрипт Π·Π°ΠΏΡƒΡ‰Π΅Π½ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ.root. Π­Ρ‚ΠΎ сдСлано для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ врСдоносного ПО, Π½ΠΎ создаСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ для Π»Π΅Π³ΠΈΡ‚ΠΈΠΌΠ½ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ Π½ΠΎΠ²Ρ‹Ρ… вСрсиях macOS (12+) ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ управлСния Wi-Fi ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ссли Π² настройках "ΠšΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ" -> "Π‘Π»ΡƒΠΆΠ±Ρ‹ локальной сСти" Π½Π΅ Π΄Π°Π½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρƒ ΠΈΠ»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρƒ скриптов.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ способом являСтся использованиС AppleScript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ эмулируСт дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² графичСском интСрфСйсС. Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ "Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ" ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² мСню Wi-Fi. Π­Ρ‚ΠΎ ΠΌΠ΅Π½Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΠΈ зависит ΠΎΡ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ экрана ΠΈ языка интСрфСйса, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° это СдинствСнный способ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ.

Мобильная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°: Android ADB ΠΈ iOS Shortcuts

Π’ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… экосистСмах возмоТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Wi-Fi сильно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ сообраТСниями бСзопасности ΠΈ экономии энСргии. На Android стандартныС прилоТСния Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€Π°Π²Π° Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Wi-Fi Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π±Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ систСмным прилоТСниям.

Однако, для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ тСстировщиков сущСствуСт инструмСнт Android Debug Bridge (ADB). Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° устройство, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎ USB ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ. Команда adb shell svc wifi enable позволяСт Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Wi-Fi ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Π­Ρ‚ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² сцСнариях Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСстирования (CI/CD), ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ сСти ΠΏΠ΅Ρ€Π΅Π΄ запуском тСстов.

На iOS возмоТности Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ "ΠšΠΎΠΌΠ°Π½Π΄Ρ‹" (Shortcuts) позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½ΠΎ прямоС дСйствиС "Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Wi-Fi" Π² Π»ΠΈΡ‡Π½Ρ‹Ρ… автоматизациях часто Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ подтвСрТдСния ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ запуска. ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ бСсшовноС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… профилях MDM ΠΈΠ»ΠΈ Π΄ΠΆΠ΅ΠΉΠ»Π±Ρ€Π΅ΠΉΠΊΠ½ΡƒΡ‚Ρ‹Ρ… устройствах.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ возмоТностСй ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ:

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Π’Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ root-ΠΏΡ€Π°Π²Π° Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ
Android ADB / System API НСт (для ADB) Высокая
iOS Shortcuts НСт БрСдняя (Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ подтвСрТдСния)
Android Tasker (ΠΏΠ»Π°Π³ΠΈΠ½) Π”Π° (часто) Зависит ΠΎΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ
ΠŸΠΎΡ‡Π΅ΠΌΡƒ Google Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΠ» прилоТСниям ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Wi-Fi?

Начиная с Android 9 (Pie), Google Π·Π°ΠΊΡ€Ρ‹Π» API для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Wi-Fi сторонними прилоТСниями. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сдСлано для прСдотвращСния слСТки Π·Π° мСстополоТСниСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ‡Π΅Ρ€Π΅Π· сканированиС сСтСй ΠΈ для экономии заряда Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ процСссы Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ постоянно Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π΄ΠΈΠΎ-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ кроссплатформСнного скрипта Π½Π° Python

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², стрСмящихся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠΌ являСтся язык Python. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ стандартныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ нСсколько сторонних ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Wi-Fi.

Основная Π»ΠΎΠ³ΠΈΠΊΠ° скрипта Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ sys.platform. Для Windows ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ подпроцСссы для Π²Ρ‹Π·ΠΎΠ²Π° PowerShell, для Linux β€” nmcli, Π° для macOS β€” networksetup. Π’Π°ΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ отсутствиС ΠΏΡ€Π°Π² администратора Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

import subprocess

import sys

import platform

def enable_wifi():

system = platform.system()

try:

if system == "Windows":

# ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· PowerShell

subprocess.run(["powershell", "Enable-NetAdapter", "-Name", "Wi-Fi"], check=True)

elif system == "Linux":

subprocess.run(["nmcli", "radio", "wifi", "on"], check=True)

elif system == "Darwin":

subprocess.run(["networksetup", "-setairportpower", "en0", "on"], check=True)

else:

print("НСподдСрТиваСмая ОБ")

except subprocess.CalledProcessError:

print("Ошибка выполнСния. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²Π° администратора.")

if __name__ == "__main__":

enable_wifi()

ΠŸΡ€ΠΈ использовании Python Π²Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ скрипт Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π² срСдС, Π³Π΄Π΅ установлСны Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ зависимости. НапримСр, Π½Π° чистом сСрвСрС Linux ΡƒΡ‚ΠΈΠΈΡ‚Π° nmcli ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, Ссли Π½Π΅ установлСн ΠΏΠ°ΠΊΠ΅Ρ‚ NetworkManager. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС потрСбуСтся fallback Π½Π° ip link.

β˜‘οΈ Π§Π΅ΠΊ-лист для кроссплатформСнного скрипта

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Диагностика ΠΈ устранСниС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ

Π”Π°ΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ написанный ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ·-Π·Π° Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ². Бамая частая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” отсутствиС ΠΏΡ€Π°Π² доступа. Π’ Windows UAC (User Account Control) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запуск скрипта, Π΄Π°ΠΆΠ΅ Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ являСтся администратором. Π’ Linux ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π½Π΅ входящСго Π² Π³Ρ€ΡƒΠΏΠΏΡƒ sudo.

Π”Ρ€ΡƒΠ³ΠΎΠΉ распространСнной ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ являСтся состояниС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°. Если Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ бСспроводного Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° "ΡƒΠΏΠ°Π»" ΠΈΠ»ΠΈ находится Π² состоянии ошибки, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях трСбуСтся Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° слуТбы сСти ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ физичСский рСсСт устройства (Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· USB-Ρ…Π°Π±).

Бписок частых ошибок ΠΈ ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ:

  • πŸ”Έ Access Denied: ЗапуститС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈΠ»ΠΈ IDE ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора (Root).
  • πŸ”Έ Interface not found: Имя интСрфСйса отличаСтся ΠΎΡ‚ стандартного. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ пСрСчислСния для поиска Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.
  • πŸ”Έ Command not found: НСобходимая ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, nmcli ΠΈΠ»ΠΈ networksetup) Π½Π΅ установлСна ΠΈΠ»ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² PATH.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ЧастоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Wi-Fi Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° (Ρ†ΠΈΠΊΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠ΅Ρ€Π΅Π³Ρ€Π΅Π²Ρƒ Ρ‡ΠΈΠΏΠ° ΠΈΠ»ΠΈ ΡΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΡŽ срока Π΅Π³ΠΎ слуТбы. НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ скрипты Π² Ρ†ΠΈΠΊΠ»Π°Ρ… с ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΅ 1-2 ΠΌΠΈΠ½ΡƒΡ‚ Π±Π΅Π· ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ нСобходимости.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ бСзопасности ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… сСтСй. Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Wi-Fi, Π³Ρ€ΡƒΠΏΠΏΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ (GPO) ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ»ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΌ сСтям. Π’ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ срСдС Ρ‚Π°ΠΊΠΈΠ΅ дСйствия Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ с ΠΎΡ‚Π΄Π΅Π»ΠΎΠΌ ИВ-бСзопасности.

FAQ: Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы

МоТно Π»ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Wi-Fi Ρ‡Π΅Ρ€Π΅Π· рССстр Windows?

ВСхничСски ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° Ρ‡Π΅Ρ€Π΅Π· рССстр (ΠΊΠ»ΡŽΡ‡ΠΈ Π² HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services), Π½ΠΎ это Π½Π΅ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ΅ дСйствиС. ИзмСнСния Π² рССстрС часто Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ систСмы ΠΈΠ»ΠΈ пСрСзапуска слуТбы, поэтому для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ управлСния этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ скрипт Python Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ netsh?

Π­Ρ‚ΠΎ происходит, Ссли Python запускаСтся Π² срСдС, Π³Π΄Π΅ пСрСмСнная PATH Π½Π΅ содСрТит систСмныС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Windows. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ subprocess с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ shell=True, хотя послСдний ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠ΅Π½Π΅Π΅ бСзопасСн.

Π Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π»ΠΈ эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π° Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°Ρ… с OpenWRT?

Π”Π°, OpenWRT базируСтся Π½Π° Linux, поэтому ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ifconfig, ip link ΠΈ iw Ρ‚Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ стандартно. Однако ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ часто осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· систСму ucidefault ΠΈΠ»ΠΈ /etc/config/wireless, измСнСния Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π² силу послС примСнСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

БСзопасно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ADB для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Wi-Fi Π½Π° Π»ΠΈΡ‡Π½ΠΎΠΌ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅?

ИспользованиС ADB бСзопасно, Ссли Π²Ρ‹ довСряСтС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½. Однако Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΠΎ USB (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ для ADB) ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ сниТаСт Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ устройства, Ссли Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ Π² Ρ‡ΡƒΠΆΠΈΠ΅ Ρ€ΡƒΠΊΠΈ Π² Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ состоянии.