WiFi z příkazového řádku MS Windows

WiFi from command line - WindowsPříkazový řádek není pouze doménou systémů UNIX, ale můžeme ho použít i v prostředí Microsoft Windows. Zejména díky Powershell můžeme v tomto režimu ovládat kompletně celý systém Windows. Nejsme tedy odkázáni na grafické rozhraní. O tom, že lze některé funkce ovládat i z klasické příkazové řádky, tedy předchůdci Powershell, je tento článek. Možnosti nastavení WiFi z příkazové řádky v GNU/Linux jsem ukázal v článku WiFi z příkazového řádku GNU/Linux. Ve Windows je situace podobná. Můžeme si zobrazit připojené rozhraní, spouštět a ukončovat jejich činnost a nastavovat jejich vlastnosti.

Na rozdíl od GNU/Linux nemusíme do systému instalovat žádné další balíčky, jelikož vše již samotná Windows obsahují. Díky implementaci potřebných funkcí je možné operace provádět na Windows 7, Windows 2008 R2 a vyšších. V serverových edicích Windows 2008+ je nutné přidat Službu bezdrátové sítě LAN (viz Příkazy nástroje Netsh pro bezdrátovou místní síť).

Zobrazení připojených zařízení

Pro veškeré operace budeme používat příkaz netsh. Pro většinu parametrů příkazu nemusí být uživatel, pod kterým se pracuje, členem skupiny Administrators (kromě např. netsh wlan show wlanreport).

V první řadě se podíváme na připojená WiFi rozhraní:

C:\Users\root>netsh wlan show interfaces

There are 1 interface on the system:

    Name                   : Wi-Fi
    Description            : Intel(R) WiFi Link 5300 AGN
    GUID                   : bdcc633c-bca4-4406-9ca5-a64353b015d2
    Physical address       : 00:31:5a:cc:95:d2
    State                  : connected
    SSID                   : Moje_SSID
    BSSID                  : 00:43:32:f8:ca:c4
    Network type           : Infrastructure
    Radio type             : 802.11g
    Authentication         : WPA2-Personal
    Cipher                 : CCMP
    Connection mode        : Auto Connect
    Channel                : 13
    Receive rate (Mbps)    : 144
    Transmit rate (Mbps)   : 144
    Signal                 : 99%
    Profile                : Moje_SSID

    Hosted network status  : Not started

Na výstupu příkazu vidíme, že máme připojeno jedno rozhraní s MAC 00:31:5a:cc:95:d2, které je připojeno k AP s SSID Moje_SSID. Důležitý je název profilu, pod kterým je toto připojení uloženo v systému. S tímto profilem pracujeme při nastavování, zapnutí a zastavení připojení. Profil může obsahovat více SSID.

Název rozhraní lze získat také z okna Síťová připojení:

Windows - Network connections

Chceme-li zjistit podporované vlastnosti rozhraní, nebo přesněji ovladače příslušného rozhraní, máme k dispozici parametr drivers. Název rozhraní můžeme zadat parametrem interface=název_rozhraní. Název rozhraní jsme získali z příkazu netsh wlan show interfaces.

C:\Users\root>netsh wlan show drivers

Interface name: Wi-Fi

    Driver                    : Intel(R) WiFi Link 5300 AGN
    Vendor                    : Intel Corporation
    Provider                  : %MSFT%
    Date                      : 07.10.2011
    Version                   : 14.2.1.4
    INF file                  : C:\WINDOWS\INF\netwns64.inf
    Files                     : 1 total
                                C:\WINDOWS\system32\DRIVERS\NETwNs64.sys
    Type                      : Native Wi-Fi Driver
    Radio types supported     : 802.11a 802.11b 802.11g
    FIPS 140-2 mode supported : Yes
    802.11w Management Frame Protection supported : No
    Hosted network supported  : Yes
    Authentication and cipher supported in infrastructure mode:
                                Open            None
                                Open            WEP-40bit
                                Open            WEP-104bit
                                Open            WEP
                                WPA-Enterprise  TKIP
                                WPA-Enterprise  CCMP
                                WPA-Personal    TKIP
                                WPA-Personal    CCMP
                                WPA2-Enterprise TKIP
                                WPA2-Enterprise CCMP
                                WPA2-Personal   TKIP
                                WPA2-Personal   CCMP
                                Open            Vendor defined
    Authentication and cipher supported in ad-hoc mode:
                                Open            None
                                Open            WEP-40bit
                                Open            WEP-104bit
                                Open            WEP
                                WPA2-Personal   CCMP
    Wireless Display Supported: No (Graphics Driver: No, Wi-Fi Driver: No)

Kromě základních informacích o podporovaných normách zde vidíme vlastnost Hosted network supported, které popisuje možnost využít toto rozhraní jako přístupový bod – AP.

Vedle možností ovladače se můžeme podívat na podrobnější možnosti bezdrátového rozhraní:

C:\Users\root>netsh wlan show wirelesscapabilities

Wireless System Capabilities
----------------------------
    Number of antennas connected to the 802.11 radio (value not available)
    Max number of channels the device can operate on, simultaneously (value not available)
    Co-existence Support                        : Unknown

Wireless Device Capabilities
----------------------------

Interface name: Wi-Fi
    WDI Version (Windows)                       : 0.0.0.0
    WDI Version (IHV)                           : 0.0.0.0
    Firmware Version                            :
    Station                                     : Supported
    Soft AP                                     : Supported
    Network monitor mode                        : Supported
    Wi-Fi Direct Device                         : Not supported
    Wi-Fi Direct GO                             : Not supported
    Wi-Fi Direct Client                         : Not supported
    Protected Management Frames                 : Not Supported
    DOT11k neighbor report                      : Unknown
    ANQP Service Information Discovery          : Not Supported
    Action Frame                                : Not Supported
    Diversity Antenna                           : Unknown
    IBSS                                        : Supported
    Promiscuous Mode                            : Supported
    P2P Device Discovery                        : Not Supported
    P2P Service Name Discovery                  : Not Supported
    P2P Service Info Discovery                  : Not Supported
    P2P Background Discovery                    : Not Supported
    P2P GO on 5 GHz                             : Not Supported
    FIPS                                        : Supported
    Instant Connect                             : Not Supported
    Dx Standby NLO                              : Not Supported
    Extended Channel Switch Announcement        : Unknown
    Function Level Reset                        : Not Supported
    Platform Level Reset                        : Not Supported
    Bus Level Reset                             : Not Supported
    MAC Randomization                           : Not Supported
    Fast Transition                             : Not Supported
    MU-MIMO                                     : Unknown
    Miracast Sink                               : Unknown
    BSS Transition (802.11v)                    : Unknown
    IHV Extensibility Module Configured         : Not Supported
    Number of Tx Spatial Streams                : 0
    Number of Rx Spatial Streams                : 0
    Number of Concurrent Channels Supported     : 1
    P2P GO ports count                          : 0
    P2P Clients Port Count                      : 0
    P2P Max Mobile AP Clients                   : 0
    Max ANQP Service Advertisements Supported   : 0
    Co-existence Support                        : Unknown
C:\Users\root>netsh wlan show settings

Wireless LAN settings
---------------------
    Show blocked networks in visible network list: No
    Only use GP profiles on GP-configured networks: No
    Hosted network mode allowed in WLAN service: Yes
    Allow shared user credentials for network authentication: Yes
    Block period: Not Configured.
    Auto configuration logic is enabled on interface "Wi-Fi"
    MAC randomization not available on interface Wi-Fi

Kompletní seznam parametrů příkazu netsh wlan show je:
show all – Zobrazí úplné informace o bezdrátových zařízeních a sítích.
show allowexplicitcreds – Zobrazí nastavení povolení sdílených uživatelských pověření.
show autoconfig – Zobrazí, zda je logika automatické konfigurace povolena nebo zakázána.
show blockednetworks – Zobrazí nastavení zobrazování blokované sítě.
show createalluserprofile – Zobrazuje, zda je každému uživateli umožněno vytvářet profily všech uživatelů.
show drivers – Zobrazí vlastnosti ovladačů bezdrátové místní sítě v systému.
show filters – Zobrazí seznam povolených a blokovaných sítí.
show hostednetwork – Zobrazit vlastnosti a stav hostované sítě.
show interfaces – Zobrazí seznam bezdrátových rozhraní místní sítě LAN v systému.
show networks – Zobrazí seznam sítí viditelných v systému.
show onlyUseGPProfilesforAllowedNetworks – Zobrazí nastavení Profily zásad skupiny používat jen v sítích s konfigurovanými zásadami skupiny.
show profiles – Zobrazí seznam profilů nakonfigurovaných v systému.
show settings – Zobrazí globální nastavení bezdrátové sítě LAN.
show tracing – Zobrazí, zda je trasování bezdrátové místní sítě povoleno nebo zakázáno.

Po zadání netsh wlan show all je zobrazen kompletní výpis všech parametrů. Tento výpis, i přes svoji velikost, doporučuji používat, protože obsahuje opravdu zajímavé informace.

Zobrazení dostupných AP

Pro připojení musíme znát SSID AP, ke kterému se budeme připojovat. Seznam všech dostupných AP můžeme získat příkazem netsh wlan show networks. I v tomto případě můžeme parametrem interface=název_rozhraní limitovat výpis na konkrétní rozhraní.

C:\Users\root>netsh wlan show networks interface=Wi-Fi

Interface name : Wi-Fi
There are 23 networks currently visible.

SSID 1 : Jendam
    Network type            : Infrastructure
    Authentication          : Open
    Encryption              : None

SSID 2 : doma
    Network type            : Infrastructure
    Authentication          : WPA-Personal
    Encryption              : TKIP

SSID 3 : O2_
    Network type            : Infrastructure
    Authentication          : WPA2-Personal
    Encryption              : CCMP

SSID 4 : UPC033
    Network type            : Infrastructure
    Authentication          : WPA2-Personal
    Encryption              : CCMP

...

Síťové profily

V kapitole věnované zobrazení informací o síťovém rozhraní jsem se zmínil o profilu. Tento profil je použit při připojení k AP.

Pokud máme v počítači již nějaký profil vytvořen, můžeme si zobrazit seznam:

C:\Users\root>netsh wlan show profiles

Profiles on interface Wi-Fi:

Group policy profiles (read only)
---------------------------------
    <None>

User profiles
-------------
    All User Profile     : Moje_SSID

A samozřejmě také podrobné vlastnosti:

C:\Users\root>netsh wlan show profiles name=Moje_SSID

Profile Moje_SSID on interface Wi-Fi:
=======================================================================

Applied: All User Profile

Profile information
-------------------
    Version                : 1
    Type                   : Wireless LAN
    Name                   : Moje_SSID
    Control options        :
        Connection mode    : Connect automatically
        Network broadcast  : Connect only if this network is broadcasting
        AutoSwitch         : Do not switch to other networks
        MAC Randomization  : Disabled

Connectivity settings
---------------------
    Number of SSIDs        : 1
    SSID name              : "Moje_SSID"
    Network type           : Infrastructure
    Radio type             : [ Any Radio Type ]
    Vendor extension          : Not present

Security settings
-----------------
    Authentication         : WPA2-Personal
    Cipher                 : CCMP
    Security key           : Present

Cost settings
-------------
    Cost                   : Unrestricted
    Congested              : No
    Approaching Data Limit : No
    Over Data Limit        : No
    Roaming                : No
    Cost Source            : Default

Povšimněme si parametru Security key, který je nastaven na hodnotu Present. Ten nás informuje o tom, že profil obsahuje přístupový klíč. I ten je možné zobrazit:

C:\Users\root>netsh wlan show profiles name=Moje_SSID key=clear

Profile Moje_SSID on interface Wi-Fi:
=======================================================================

Applied: All User Profile

Profile information
-------------------
    Version                : 1
    Type                   : Wireless LAN
    Name                   : Moje_SSID
    Control options        :
        Connection mode    : Connect automatically
        Network broadcast  : Connect only if this network is broadcasting
        AutoSwitch         : Do not switch to other networks
        MAC Randomization  : Disabled

Connectivity settings
---------------------
    Number of SSIDs        : 1
    SSID name              : "Moje_SSID"
    Network type           : Infrastructure
    Radio type             : [ Any Radio Type ]
    Vendor extension          : Not present

Security settings
-----------------
    Authentication         : WPA2-Personal
    Cipher                 : CCMP
    Security key           : Present
    Key Content            : Jd4SkD4HcnD9Dcw

Cost settings
-------------
    Cost                   : Unrestricted
    Congested              : No
    Approaching Data Limit : No
    Over Data Limit        : No
    Roaming                : No
    Cost Source            : Default

Tento klíč je nyní zobrazen jako obsah parametru Key Content.

Každý profil může mít v systému určitou prioritu. Tu lze jednoduše nastavit a změnit:

C:\Users\root>netsh wlan set profileorder name=Moje_SSID interface=Wi-Fi priority=1
Priority order for profile "Moje_SSID" is not changed for "Wi-Fi".

Pokud je hodnota priority nastavena na 0 nebo 1, je profil přesunut na začátek seznamu profilů.

Vytvoření profilu bohužel z příkazové řádky možné není. K tomuto účelu lze použít pouze grafické rozhraní. Pokud ale máme profil vytvořen na jiném počítači, můžeme jej vyexportovat:

C:\Users\root>netsh wlan export profile folder=z:\ name=Moje_SSID

Interface profile "Moje_SSID" is saved in file "z:\Wi-Fi-Moje_SSID.xml" successfully.

a importovat:

H:\Users\work>netsh wlan add profile filename=z:\Wi-Fi-Moje_SSID.xml
Profil Moje_SSID je přidán k rozhraní Bezdrátové připojení k síti.

Pro první připojení k AP je nutné zadat příslušný přístupový klíč.

Profil lze ale jednoduchým způsobem ze systému odstranit:

C:\Users\root>netsh wlan delete profile name=Old_SSID
Profile "Old_SSID" is deleted from interface "Wi-Fi".

Připojení a odpojení WiFi

Pro připojení a odpojení používáme již zmíněné profily.

Připojení provedeme příkazem netsh wlan connect:

C:\Users\root>netsh wlan connect name=Moje_SSID
Connection request was completed successfully.

Pokud profil obsahuje nastavení několika SSID, příslušné SSID upřesníme parametrem ssid=název_SSID.

Odpojení bezdrátové sítě můžeme provést bez zadání jakýchkoli parametrů. Pouze v případě, že máme připojeno několik bezdrátových síťových rozhraní, musíme specifikovat konkrétní, případně použít zástupný znak *:

C:\Users\root>netsh wlan disconnect interface=Wi-Fi
Disconnection request was completed successfully for interface "Wi-Fi".

Vlastní WiFi Hotspot

Zařízení s OS Windows můžeme použít i jako místní WiFi hotspot. K tomuto účelu slouží další parametry příkazu netsh.

Vytvoření hotspotu je vlastně jeho přenastavení.

C:\Users\root>netsh wlan set hostednetwork mode=allow ssid=Muj_Hotspot key=ajsucDoA7k2D
The hosted network mode has been set to allow.
The SSID of the hosted network has been successfully changed.
The user key passphrase of the hosted network has been successfully changed.

Pokud budeme chtít například změnit klíč pro připojení, použijeme stejný příkaz znovu.

Zobrazení informací o hotspotu:

C:\Users\root>netsh wlan show hostednetwork

Hosted network settings
-----------------------
    Mode                   : Allowed
    SSID name              : "Muj_Hotspot"
    Max number of clients  : 100
    Authentication         : WPA2-Personal
    Cipher                 : CCMP

Hosted network status
---------------------
    Status                 : Not started

Zobrazení informací o zabezpečení a klíči:

C:\Users\root>netsh wlan show hostednetwork setting=security

Hosted network security settings
--------------------------------
    Authentication         : WPA2-Personal
    Cipher                 : CCMP
    System security key    : +.h5mz.wSjJFK.o8+r-h3N~LfXR5SRXSCJ9qJ0ojeU7h8Mw#fjhbCa09x*.VGCY
    User security key      : ajsucDoA7k2D
    User security key usage: Persistent

Spuštění hotspotu:

C:\Users\root>netsh wlan start hostednetwork
The hosted network started.

a zobrazení informací o běžícím hotspotu:

C:\Users\root>netsh wlan show hostednetwork

Hosted network settings
-----------------------
    Mode                   : Allowed
    SSID name              : "Muj_Hotspot"
    Max number of clients  : 100
    Authentication         : WPA2-Personal
    Cipher                 : CCMP

Hosted network status
---------------------
    Status                 : Started
    BSSID                  : 00:31:5a:cc:95:d2
    Radio type             : 802.11g
    Channel                : 13
    Number of clients      : 1
        00:a1:ca:da:3b:22        Authenticated

Windows - Network connections 2

Sdílení připojení je nutné ručně povolit v GUI nastavení adaptéru hotspotu a nastavit správné rozhraní, které směřuje do internetu. V mém případě je hotspot a rozhraní s přístupem do internetu stejné fyzické zařízení.

Windows network sharing

Ve Windows 7 existoval příkaz netsh routing, který byl ale odebrán. Jedinou možností pro příkazový řádek je pravděpodobně pouze Powershell, viz Enabling Windows ICS from PowerShell.

Zastavení hotspotu:

C:\Users\root>netsh wlan stop hostednetwork
The hosted network stopped.

Závěr

Možnosti nastavení WiFi z příkazového řádku Windows jsou samozřejmě rozsáhlejší než je zde popsáno. Příkazový řádek se nám ale hodí v případě, že chceme zjistit podrobnější informace o síti, sousedních WiFi AP apod.

Leave a Reply