Narzędzia użytkownika

Narzędzia witryny


Pasek boczny


O mnie


Dydaktyka:

Feedback


bio-sk:wlan

To jest stara wersja strony!


WLAN

Podstawy + warstwa fizyczna

Komenda 'iw' w Linuskie

Paczki narzędzi do WLAN pod Linuksem

Network Manager i rfkill

W wielu dystrybucjach Linuksa domyślnie karty sieciowe obsługuje NetworkManager (NM).
Komenda nmcli radio all off nakaże NM wyłączenie kart i nie konfigurowanie ich.

NM poza wyłączeniem interfejsu, próbuje wyłączyć kartę (dla lepszego zarządzania energią możliwe jest często odłączenie karty).
Do włączenia tak wyłączonej karty służy program rfkill [1]), dokładniej komenda rfkill unblock wifi
Karty bezprzewodowe i/lub moduły bluetooth mogą być też domyślnie wyłączone w tej sposób.

Wyświetlanie informacji i listy dostępnych sieci (skanowanie)

pomoc dla komendy iw help
lista i stan wszystkich interfejsów iw dev
stan wybranego interfejsu iw [dev] <if> info
np. iw wlan0 info
stan połączenia na podanym interfejsie iw [dev] <if> link
np. iw wlan0 link
informacje o możliwościach karty iw phy
skanowania dostępnych sieci iw [dev] <if> scan [-u]
np. iw wlan0 scan -u
(flaga -u pokazuje też opcje nieznane przez iw)

Zarządzanie pasmem / kanałem / częstotliwością pracy

lista wspieranych przez kartę kanałów/częstotliwości iw [phy] <phy> [channels]
informacje o częstotliwościach
dostępnych w kraju/regionie
iw reg get
zmiana bieżącego kraju/regionu iw reg set <kod kraju>
np. iw reg set PL
zmiana kanału/częstotliwości
podając kanał
iw [dev/phy] <if/phy> set channel <nr> [width]
np. iw wlan0 set channel 13
np. iw wlan0 set channel 1 HT40+
np. iw wlan0 set channel 128 160MHz
zmiana kanału/częstotliwości
podając częstotliwość
iw [dev/phy] <if/phy> set freq <freq> [width] […]
np. iw wlan0 set freq 2412 HT40+
np. iw wlan0 set freq 5640 160MHz
np. iw wlan0 set freq 5200 80+80 5210 5775

Zmiana trybu pracy karty

ogólna komenda iw [dev] <if> set type <mode>
klient łączący się do BSS iw [dev] <if> set type managed
np. iw wlan0 set type managed
urządzenie w sieci IBSS iw [dev] <if> set type ibss
np. iw wlan0 set type ibss
monitor (nasłuchiwanie) iw [dev] <if> set type monitor
np. iw wlan0 set type monitor
access point programy takie jak hostapd przełączą we właściwy tryb kartę ustawioną jako managed

Uwaga: większość sterowników pozwala zmieniać tryb tylko dla wyłączonych interfejsów.

Zamiast zmiany trybu pracy, można, o ile wspierają to sterowniki karty, dodać kolejny interfejs do karty komendą:
iw <phy> interface add <ifname> type <mode>           (zamiast <phy> można też podać <ifname>))
np. iw phy0 interface add mon0 type monitor
(Interfejs usuwa się komendą iw [dev] <ifname> del, np. iw mon0 del)

Dołączenie do sieci bez zabezpieczeń

ibss połączenie iw [dev] <if> ibss join <ESSID> <freq> […]
rozłączenie iw [dev] <if> ibss leave
mesh połączenie iw [dev] <if> mesh join <ESSID> [freq <freq>] […]
rozłączenie iw [dev] <if> mesh leave
bss połączenie iw [dev] <if> connect <ESSID> [BSSID]
rozłączenie iw [dev] <if> disconnect

Wypisanie podłączonych urządzeń

W trybach takich jak ibss, mesh i ap można wyświetlić urządzenia z którymi nawiązano połączenie komedną:
iw [dev] <ifname> station dump           np: iw wlan0 station dump

Tworzenie / dołączanie się do sieci ad-hoc - gotowe komendy

  1. wyłączyć interface (ip l set dev <if> down)
  2. ustawić pracę karty sieciowej jako IBSS: iw <if> set type ibss
  3. wybrać nazwę sieci i częstotliwość: iw <if> ibss join <essid> <freq>

iw wspiera tworzenie sieci IBSS z wykorzystaniem 802.11n/ac/ax, np:
iw <if> ibss join <essid> <freq> HT40- używa kanału 40MHz zajmującego częstotliwości freq i freq-20
iw <if> ibss join <essid> <control_freq> <width> <center_freq> używa kanału szerokości width ze środkiem na częstotliwości center_freq i używa control_freq m. inn. do rozgłaszania sieci

Przykłady (używające tego samego kanału 40MHz):
iw <if> ibss join <essid> 2432 HT40-
iw <if> ibss join <essid> 2432 40 2422

Uwaga: sterowniki kart w 1.6.16 mają problem ze sobą w trybie IBSS, żeby pracowały z pełną prędkością wykonaj:
tc qdisc add dev wlan0 root cake

Do testów prędkości możesz użyć wcześniej poznanych programów netperf / iperf3.

Monitorowanie sieci – gotowe komendy

W salach laboratoryjnych zalecaną metodą jest stworzenie nowego interfejsu pracującego w trybie monitor komendą:
iw wlan0 interface add mon0 type monitor
Uwaga: kartom intela w laboratorium "zdarza się" zerwać bieżące połączenie przy dodawaniu wirtualnego interfejsu.

Zabezpieczenia sieci bezprzewodowych

Konfiguracja Access Pointa i połączenia do niego

[ekstra] Przykład prostego AP na Linuksie

Do tworzenia AP pod Linuksem można wykorzystać program hostapd, któremu należy podać jako argument ścieżkę do plik konfiguracyjnego, np: hostapd hostapd.conf.

Przykładowy plik konfiguracyjny (działający w obu laboratoriach na kartach intela):

hostapd.conf
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0

interface=wlan0

ssid=TEST

hw_mode=g
channel=5

country_code=PL

ieee80211n=1
ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40]

auth_algs=1

### dla WPA2-PSK                ### dla WPA3-SAE      ### dla WPA3-SAE
# wpa=2                         # wpa=2               #wpa=2
# wpa_key_mgmt=WPA-PSK          # wpa_key_mgmt=SAE    #wpa_key_mgmt=WPA-PSK SAE
# wpa_passphrase=haslodosieci   # sae_password=test   #wpa_passphrase=haslodosieci
# ieee80211w=1                  # ieee80211w=2        #ieee80211w=1
                                                      #sae_require_mfp=1

bio-sk/wlan.1736985033.txt.gz · ostatnio zmienione: 2025/01/16 00:50 przez jkonczak