Table of Contents
WLAN
Materiały
Lista historycznych materiałów opisujących sieci bezprzewodowe ad-hoc:
http://www.cs.put.poznan.pl/mkalewski/files/adhoc.pdf
http://www.cs.put.poznan.pl/ddwornikowski/sieci/sieci2/adhoc.html
Lista dodatkowych materiałów opisujących sieci bezprzewodowe:
https://technet.microsoft.com/en-us/library/cc757419%28v=ws.10%29.aspx
https://www.cisco.com/c/en/us/td/docs/wireless/controller/8-5/Enterprise-Mobility-8-5-Design-Guide/Enterprise_Mobility_8-5_Deployment_Guide/wlanrf.html
Laboratoria 1
Podstawowe pojęcia
- WLAN (Wireless LAN) = idea, pomysł, nazwa rozwiązania technicznego
https://pl.wikipedia.org/wiki/Bezprzewodowa_sie%C4%87_lokalna
- IEEE 802.11 = rodzina standardów opisujących konkretne rozwiązania techniczne dla sieci bezprzewodowych
- Wi-Fi® = znak towarowy (trademark) organizacji Wi-Fi Alliance, wystawiającej certyfikaty zgodności urządzeń ze swoją wizją sieci bezprzewodowej, która z kolei sprowadza się do standardów z rodziny 802.11
Uwaga: Wi-Fi 4, Wi-Fi 5, Wi-Fi 6, Wi-Fi 6E to oznaczenia kolejnych "generacji" sieci bezprzewodowych certyfikowanych przez Wi-Fi Alliance
Urządzenia w sieci:
- STA - station, stacja, adresowalne urządzenie sieci bezprzewodowej.
- AP - access point, punkt dostępowy. AP umożliwia stacjom na dostęp do urządzeń w sieci przewodowej (i na odwrót)1). Działa na warstwie 2 (łącza danych).
Pasmo i standardy określające możliwe prędkości działania sieci
| marka | rok wyd. | 2.4GHz | 5GHz | 6GHz | kodowanie | ||||
|---|---|---|---|---|---|---|---|---|---|
| sz. kan. | max band. | sz. kan. | max band. | sz. kan. | max band. | ||||
| 802.11 | 1997 | 22 | 2Mbps | — | — | DSSS/FHSS | |||
| 802.11b | 1999 | 22 | 11Mbps | — | — | DSSS | |||
| 802.11a | — | 20 | 54Mbps | — | OFDM | ||||
| 802.11g | 2003 | 20 | 54Mbps | — | — | ||||
| 802.11n | Wi-Fi 4 | (2006), 2009 | HT20 | 72.2Mbps | HT20 | 72.2Mbps | — | ||
| HT40 | 150Mbps | HT40 | 150Mbps | — | |||||
| 802.11ac | Wi-Fi 5 | wave 1: 2013, wave 2: 2016 | — | VHT20 | 86.7Mbps | — | |||
| — | VHT40 | 200Mbps | — | ||||||
| — | VHT80 | 433.3Mbps | — | ||||||
| — | VHT160 | 866.7Mbps | — | ||||||
| 802.11ax | Wi-Fi 6, Wi-Fi 6E | 2019, 2020 | HE20 | 143.4Mbps | HE20 | 143.4Mbps | HE20 | 143.4Mbps | OFDM/OFDMA |
| HE40 | 286.8Mbps | HE40 | 286.8Mbps | HE40 | 286.8Mbps | ||||
| — | HE80 | 600.5Mbps | HE80 | 600.5Mbps | |||||
| — | HE160 | 1201Mbps | HE160 | 1201Mbps | |||||
| 802.11ac i 802.11ax potrafią też używać dwóch kanałów 80MHz naraz (80+80) z przepustowością identyczną jak dla 160MHz Podane prędkości to maksymalne teoretyczne prędkości dla jednego strumienia przestrzennego 802.11ax z ODFMA ma niższe prędkości teoretyczne 802.11ax bez wsparcia dla pasma 6GHz to Wi-Fi 6, a ze wsparciem to Wi-Fi 6E |
|||||||||
Plan kanałów dla sieci bezprzewodowych:
https://en.wikipedia.org/wiki/List_of_WLAN_channels
- Jaką część pasma zajmuje jedna sieć, ile się zmieści niezakłócających się wzajemnie sieci w standardach g, n, ac, ax dla pasm 2.4, 5 i 6 GHz
- Dla większości pasma 5GHz należy używać DFS (dynamic frequency selection, dynamicznego wyboru częstotliwości), który ma za zadanie wybranie częstotliwości która nie będzie zakłócać innych urządzeń
Zakłócenia radarów pogodowych wywoływane przez sieci bezprzewodowe nie obsługujące poprawnie DFS: [ 1 ] [ 2 ] - Na nadawanie fal radiowych trzeba mieć zgodę państwa, stąd ograniczenia pasma transmisji danych; odnośniki do w miarę aktualnych aktów prawnych można znaleźć np. tutaj
OFDM / OFDMA
OFDM polega na podziale pasma na wiele częstotliwości nośnych (subcarriers) i nadawaniu danych jako kolejnych symboli – krótkich, oddzielonych przerwami okresów (np. 3.2 µs) w których sygnał jest generowany przez dodanie każdej nośnej o odpowiednio zmienionej amplitudzie i fazie (modulacja).
Po stronie odbiorcy wykorzystuje się FFT do przetworzenia sygnału z powrotem na wartości amplitud i fazę dla kolejnych częstotliwości, czyli odczytuje się nadany symbol.
Do zminimalizowania błędów w transmisji do przesyłanych danych dodaje się dodatkowe bity które pozwalają na wykrycie błędów i korekcję sygnału (kodowanie).
Do standardu 802.11ac wszystkie częstotliwości nośne symbolu były kierowane do jednego odbiorcy.
W standardzie 802.11ax wprowadzono możliwość wykorzystania OFDMA – część nośnych może by przeznaczona dla jednego odbiorcy, a pozostałe dla innych. Pozwala to jednocześnie nadawać dane do kilku urządzeń naraz i znacznie usprawnia pracę wielu urządzeń w sieci (i działa dużo lepiej niż MU-MIMO).
Anteny
Rodzaje anten: [1]
- dookolne
- kierunkowe
Jednoczesne użycie wielu anten:
- MIMO (od 802.11n) [2]
Oznacza to, że przy teoretycznej prędkości dla 1 strumienia rzędu 150Mbps i konfiguracji 4x4 możliwa jest transmisja z teoretyczną prędkością 600Mbps
Teoretyczna prędkość sieci
Sieci bezprzewodowe (poza 802.11b) wykorzystują OFDM (lub OFDMA) - dzielą kanał na podnośne (ang. subcarriers) i na każdej wybierają, w zależności od jakości sygnału i poziomu sygnału i szumu, modulację i kodowanie podnośnych. Teoretyczna prędkość sieci zależy od ustalonej:
- szerokości kanału, czyli ilości podnośnych (20MHz - 48(a,g) lub 52(n), 40MHz - 108 (n,ac), 80MHz - 234 (ac), ax - 4× gęściej)
- ilości użytych niezależnych transmisji (różnymi parami anten) (ang. spatial streams)
- czasu na jeden symbol, stałego dla standardu (np. 3.2µs+0.8/0.4µs (n,ac), 12.8µs+0.8/1.6/3.2µs(ax))
oraz zmiennej:
- modulacji podnośnych (BPSK, QPSK, 16/64/256/1024-QAM)
Modulacje i kodowania (MCS) są pogrupowane w pary (i numerowane)
Przykładowo dla dwóch kanałów 20 MHz i 802.11n (do transmisji danych używa się 52 podnośnych), dla nadawania symbol przez 3.2 µs i 0.4µs przerwy między symbolami, używanej modulacji 64-QAM (czyli: 6 bitów na symbol) i kodowania 3/4 (czyli: z każdych kolejnych 4 przesłanych bitów powstają 3 bity danych, nadmiar służy wykrywaniu i korekcji błędów), teoretyczna prędkość to:
2 * 52 * 1/3.6µs * 6b * 3/4 = 130 Mb/s
Przykładowe tabele prędkości: https://mcsindex.net/
Typy sieci i ich identyfikatory
Typy sieci bezprzewodowych i identyfikatory sieci bezprzewodowych
- IBSS – independent BSS, sieć bez AP, ad-hoc
- BSSID sieci IBSS (w Linuksie też Cell ID) – identyfikator sieci ad-hoc, tworzony dynamicznie, typowo losowy lub tożsamy z adresem MAC jednego z pierwszych uczestników sieci
- MBSS – mesh BSS https://en.wikipedia.org/wiki/Wireless_mesh_network, 802.11s
- infrastructure BSS (Basic Service Set) – tryb infrastruktury czyli AP i stacje z nim połączone2)
- BSSID – identyfikator takiej sieci; typowo adres MAC AP
- ESS – Extended Service Set – zbiór BSSów z tym samym SSID połączonych siecią dystrybucji (DS, distribution system)
- ESSID (lub SSID)– nazwa (słowna) sieci, występuje w IBSS, MBSS, BSS, ESS
802.11…
https://en.wikipedia.org/wiki/IEEE_802.11#Standards_and_amendments
http://www.cs.put.poznan.pl/ddwornikowski/sieci/sieci2/adhoc.html
Paczki narzędzi do WLAN pod Linuksem
- wireless-tools https://en.wikipedia.org/wiki/Wireless_tools_for_Linux
iw– komenda mająca na celu zastąpienie wireless-toolsiw phy– fizyczne bezprzewodowe urządzenie siecioweiw dev– interfejs sieciowy (powiązany z jakimśphy)
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.
W OpenSUSE nmcli nie przerywa działania wpa_supplicanta uruchomionego przez NM; dlatego należy wykonać pkill wpa_supplicant
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
Podstawowe komendy
Wyświetlanie informacji i skanowanie
iwconfig– główna komenda (z wireless-tools) do zarządzania WLAN
iwiwconfig --help– pomoc
iw helpiwconfig– lista i stan interfejsów
iw phy– fizyczne urządzenia;
iw dev– interfejsy sieciowe,
iw [dev] <if> info– informacje o wybranym interfejsie
iw [dev] <if> link– informacje o połączeniuiwconfig <if>– stan wybranego interfejsu
iw [dev] <if> linkiwlist– komenda uzupełniająca brakujące funkcjeiwconfigiwlist <if> scan– wykonanie skanowania dostępnych sieci
iw [dev] <if> scan [-u](flaga-upokazuje też opcje nieznane przez iw)
Zmiana pasma / kanału
iwlist channel– lista dostępnych kanałów (i częstotliwości)
iw phy
iw [phy] <phy> channels(np.iw phy0 channels)iw reg get– informacje o ograniczeniach dostępu do kanałów dostępnych w bieżącym regulatory domain (obszar jurysdykcyjny?)iw reg set <kod kraju>– zmienia bieżącą regulatory domainiwconfig <if> channel <nr>– zmiana kanału
iw [dev/phy] <if/phy> set channel <nr> [width]iwconfig <if> freq <freq>– zmiana częstotliwości, np.iwconfig wlan0 freq 2412M
iw [dev/phy] <if/phy> set freq <freq> [width], np:iw wlan0 freq 2412
Zmiana trybu pracy:
iwconfig <if> mode <mode>– ustawienie trybu pracy na:
iw [dev] <if> set type <mode>managed– "zwykły" tryb gdzie karta łączy się do APad-hoc(ibssdla iw)monitor– tryb nasłuchuw nowszych jądrach Linuksa dla AP (na wspieranych kartach) wystarczy tryb managed [1]master(apdla iw)
- Do zmiany trybu pracy potrzeba wyłączyć urządzenie (iwconfig).
iwpozwala (jeśli sterowniki to udostępniają; zwykle nie) tworzyć i używać naraz wiele wirtualnych interfejsów, również rożnych typów [2]
Zmiana SSID / BSSID
iwconfig <if> essid <essid/off>– ustawienie nazwy sieci / odłączenie się od sieciiwconfig <if> ap <bssid/auto>– wybór AP (BSSID) do którego ma się łączyć
Komenda iw ma odrębne polecenia do tworzenia sieci ad-hoc, mesh i dołączania do sieci w trybie infrastruktury:
iw [dev] <if> ibss join <ESSID> <freq>– dołączanie do sieci IBSSiw [dev] <if> ibss leave– opuszczenie do sieci IBSSiw [dev] <if> mesh join <ESSID> [freq <freq>]– dołączanie do sieci meshiw [dev] <if> connect <ESSID> [BSSID]– dołączanie do sieci BSS
Tworzenie / dołączanie się do sieci ad-hoc
- wyłączyć interface (
ip l set dev <if> down/ifconfig <if> down) - ustawić pracę karty sieciowej jako
ad-hoc/ibss:
iwconfig <if> mode ad-hoc
lub
iw <if> set type ibss - wybrać nazwę sieci i kanał:
iwconfig <if> essid <essid>+iwconfig <if> freq <freq>
lub
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ć programów netperf/iperf3 znanych z SK1
Monitorowanie sieci
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.
Sposoby na otrzymanie urządzenia pracującego prawidłowo w trybie monitor:
- korzystając z aircracka:
airmon-ng start <if> [channel]
- korzystając z
iw:- dodać nowy interfejs w trybie monitor:
iw [dev/phy] <if> interface add <newif> type monitor, np:
iw wlan0 interface add mon0 type monitor - można ustawić flagi konfigurujące jakich ramek ma nie ignorować monitor (uwaga, wsparcie zależy od sterowników), np:
iw dev mon0 set monitor fcsfail control otherbss
- korzystając z wireless-tools (uwaga: wireless-tools nie mają niezależnej od sterowników metody na dodanie drugiego interfejsu sieciowego):
- wyłączyć interface, np:
ifconfig <if> down - ustawić pracę karty sieciowej jako monitor:
iwconfig <if> mode monitor - włączyć interface, np:
ifconfig <if> up
- przy niektórych sterownikach działa tryb promiscuous – tryb w którym przekazywane są do systemu operacyjnego wszystkich ramek (domyślnie karta sieciowa przekazuje tylko ramki kierowane do siebie, nie wszystkie które otrzyma):
ip l set dev <if> promisc onlubifconfig <if> promisc
wyłączenie powyższego –ifconfig <if> -promisclubip l set dev <if> promisc off
Przykładowe wyniki komend
zmiana tryby pracy i kanału / częstotliwości
inny, przydługi wynik komendy 'iw <if> scan' dla 2 sieci 802.11ax
Laboratoria 2
Sieci bezprzewodowe w CISCO
Link do materiałów o poruszaniu się w konsoli CISCO z poprzedniego semestru: cisco_wstep
Przypomnienie: komenda do obsługi portu szeregowego: picocom /dev/ttyS0 (wyjście: ctrl+a ctrl+q)
Uwaga: domyślne hasło do trybu uprzywilejowanego (enable) na AP używanych na zajęciach to Cisco
Na początku sprawdź komendą show startup-config wykonaną w trybie uprzywilejowanym czy na urządzeniu nie ma starej konfiguracji.
Jeśli jest - wykonaj erase startup-config, a następnie reload.
Komendy CISCO przydatne do obsługi sieci bezprzewodowych, część 1:
- tryb użytkownika (
>):enable- przechodzi do trybu uprzywilejowanego
- tryb uprzywilejowany (
#):show interfaces description- wyświetla stan interfejsów 3)show dot11 bssid- wyświetla listę aktywnych BSSID i ESSID, oraz informację czy sieci są ogłaszaneshow dot11 associations [all]- wyświetla listę podłączonych stacjishow running-config- pokazuje bieżącą konfiguracjęconfigure terminal- wchodzi w tryb konfiguracji
- tryb konfiguracji (
(config) #):dot11 ssid nazwa_sieci- wchodzi w konfigurację sieci.
W CISCO osobno konfiguruje się ustawienia sieci, osobno przypisuje się sieć do karty sieciowej.
Ustawienia sieci ((config-ssid) #):guest-mode- ustawienie rozgłaszania sieci; bez tego sieć nie pojawia się w wynikach skanowaniaauthentication open- ustawia otwarte uwierzytelnianieauthentication key-management wpa [version 2]- ustawia używanie WPAwpa-psk ascii haslo_wpa- ustawienie klucza (hasła) do sieci
jeśli wprowadzono dwie powyższe komendy (i nie skonfigurowano EAP), to sieć będzie używać zabezpieczeń WPA-PSK
interface Dot11Radio numer_karty- wchodzi w konfigurację interfejsu bezprzewodowego.
Ustawienia interfejsu ((config-if) #):encryption mode ciphers aes-ccm- ustawia jak ma być szyfrowana transmisja
aes-ccmlub starszetkipwymusza użycie WPAssid nazwa_sieci- wskazuje którą sieć ma obsługiwać kartano shutdown- włącza interfejschannel kanał/częstotliwość_w_mhz- ustawia kanał / częstotliwość
Przykładowa konfiguracja sieci o nazwie ''jakasNazwaSieci'' bez zabezpieczeń:
Komendy CISCO przydatne do obsługi sieci bezprzewodowych, część 2 - wiele sieci z jednego interfejsu:
- tryb konfiguracji (
(config) #):dot11 ssid nazwa_sieci((config-ssid) #):mbssid guest-mode- ustawienie rozgłaszania sieci; bez tego sieć nie pojawia się w wynikach skanowania 4)vlan numer_vlanu- ustawia numer vlanu z którego będą przychodzić dane na interfejsie bezprzewodowym; pozwala to rozróżnić dane z różnych sieci na tym samym interfejsie; (pomysł cisco - częstszy pomysł to osobne wirtualne interfejsy na każdą rozgłaszaną sieć)
interface Dot11Radio numer_karty((config-if) #):mbssid- zmienia działanie interfejsu tak, by akceptował wiele komendssidnarazencryption vlan numer_vlanu mode ciphers metodySzyfrowania- ustawia jak dane której sieci (identyfikowana przez vlan!) mją być szyfrowane, np:
encryption vlan 50 mode ciphers aes-ccm- nakazuje sieci skonfigurowanej jako vlan 50 użycie WPAssid nazwa_sieci- dodaje kolejną sieć do interfejsu; musi być wpisane pombssid
interface Dot11Radio numer_karty.numer_vlanu- konfiguruje subintefejs odpowiedzialny za vlan numer_vlanu, np:
interface Dot11Radio0.60- vlan 60 na interfejsie Dot11Radio0
Prompt ((config-subif) #):encapsulation dot1Q numer_vlanu [native]- wymagane, by dało się używać ssidu skonfigurowanego jako vlan numer_vlanu, np.
encapsulation dot1Q 60- pozwala włączyć na interfejsie ssid używający vlan 60, a pakiety z pasujących sieci będą pojawiać się na tym subinterfejsie
encapsulation dot1Q 1 native- jak wyżej, plus vlan 1 jest traktowany specjalnie: dokumentacja ciscobridge-group numer_mostka- dodaje subinterfejs do mostka; patrz niżej
interface FastEthernetnumer_karty.numer_vlanu- konfiguruje vlan na połączeniu ethernetowym, np:
interface FastEthernet0.60- vlan 60 na interfejsie FastEthernet0
Prompt ((config-subif) #):encapsulation dot1Q numer_vlan- pakuje / rozpakowuje dane do podanego vlanubridge-group numer_mostka- dodaje subinterfejs do mostka
połączenie mostkiem np.Dot11Radio0.60iFastEthernet0.60przekaże pakiety z sieci bezprzewodowej dla której ustawiono vlan 60 jako vlan 60 po kablu ethernetowym
Przykładowa konfiguracja kilku sieci:
Zabezpieczenia sieci bezprzewodowych
Zabezpieczenia sieci bezprzewodowych:
- WEP – nie zapewnia bezpieczeństwa
- WPA (Wi-Fi Protected Access) – implementacja 802.11i zanim powstało 802.11i, w tym szyfrowanie używając:
- opcjonalnie CCMP AES
- 802.11i – standard opisujący skuteczne zabezpieczanie sieci bezprzewodowych
- WPA2 – "handlowa" nazwa implementacji 802.11i, w tym szyfrowanie używając:
- opcjonalnie TKIP
- WPA3 - ogłoszony w czerwcu 2018 standard, jego obsługa jest wymagana w nowych urządzeniach [1] [2] [3]
- umożliwia użycie silniejszej kryptografii (dłuższe klucze i silniejsze protokoły – GCMP i oparte na krzywych eliptycznych)
- wymaga zabezpieczania ramkek typu management (802.11w)
- w WPA3 odkryto już podatności na inne rodzaje ataków (dragonblood)
- wraz z WPA3 próbowano wprowadzić rozwiązanie pozwalające tworzyć bezpieczne sieci nie wymagające hasła do połączenia (Wi-Fi Enhanced-Open, RFC 8110)
- Uwierzytelnianie:
- WPA-Personal
- w WPA i WPA2 – PSK (Pre-shared Key)
znając PSK i słuchając pełnej komunikacji (od nawiązania połączenia) można deszyfrować transmisję - w WPA3 – SAE (Simultaneous Authentication of Equals)
-
- PSK
- TLS
- PEAP, TTLS, FAST
- Scentralizowane uwierzytelnianie – RADIUS konfiguracja przykładowego serwera
Otwarta dokumentacja dla sieci Eduroam – przykład wdrożenia sfederalizowanego uwierzytelniania: en, pl
- WPS – rozwiązania mające ułatwić osobom nietechnicznym korzystanie z zabezpieczeń WPA-PSK
część implementacji WPS (np. pin) nie zapewnia bezpieczeństwa sieci
WEP, WPA{,2,3} dobrze opisuje artykuł: https://www.nastykusieci.pl/wpa3/ i https://www.cyberbajt.pl/raport/377/0/378/
Łączenie do AP w Linuksie
Sieci niezabezpieczone
Do sieci niezabezpieczonych, lub zabezpieczonych słabo (z WEP), wystarczy komena iwconfig / iw:
iwconfigiwconfig wlan0 essid nazwa_sieci- ustawia nazwę sieci (ESSID), np:
iwconfig wlan0 essid NiezabezpieczonaSieciwconfig wlan0 ap {auto|bssid}- ustawia identyfikator sieci (BSSID), np:
iwconfig wlan0 ap auto- dowolna sieć
iwconfig wlan0 ap 00:60:1D:01:23:45- wybiera konkretny AP o podanym bssidiwconfig wlan0 key klucz_wep- ustawia klucz WEP
iwiw [dev] wlan0 connect nazwa_sieci [bssid] [key klucz_wep]- łączy się do sieci nazwa_sieci, opcjonalnie wbierając podany AP, opcjonalnie używając klucza WEP, np.:
iw wlan0 connect NiezabezpieczonaSiec- łączy się do sieci o nazwie NiezabezpieczonaSiec
Sieci zabezpieczone - wpa_supplicant
Do sieci zabezpieczonych z użyciem WPA potrzeba użyć właściwego programu – w Linuksie np. wpa_supplicant.
Suplikant [sjp] (klient) w uwierzytelnianiu EAPOL (IEEE_802.1X) to strona która prosi o dostęp.
Stąd nazwa programu wpa_supplicant.
wpa_supplicant jest wykorzystywany w Linuksie przez praktycznie wszystkie programy zarządzające siecią (NetworkManager, wicd). Poza głównym programem (wpa_supplicant), dostarczane jest CLI oraz GUI do zarządzania.
Typowe użycie samego wpa_supplicanta (foreground):
wpa_supplicant -c config_file -i iface [-d]
Przykladowe użycie:
wpa_supplicant -i wlan0 -c wpa_supplicant.conf
Najprostszy plik konfiguracyjny dla WPA-PSK / WPA2-PSK ma postać:
network={
ssid="ssid"
psk="pass"
}
Plik pozwalający na użycie wpa_cli i przykład dla sieci bez zabezpieczeń:
Więcej w man wpa_supplicant i man wpa_supplicant.conf
Sieci zabezpieczone - iwd
Trwają prace nad nową, lepiej zorganizowaną obsługą bezpieczeństwa sieci bezprzewodowych w Linuksie: iwd (iNet Wireless Daemon).
Szczegóły: https://iwd.wiki.kernel.org/
Labolatoria 3
Zadania, ramki, działanie
Zadania w WLAN, poza tymi które znacie z LAN, to:
- skanowanie (beacon, probe) – pasywne zbieranie informacji o dostępnych sieciach, pytanie o listę dostępnych sieci
- uwierzytelnianie (authentication) – w standardzie przewidziano tylko WEP, stąd zwykle używane otwarte; możliwa (choć w praktyce nie zapewniająca bezpieczeństwa) kontrola MAC
- przyłączenie (association)
- mechanizm wielodostępu
- szyfrowanie
- Poza tym: adresacja, fragmentacja, wykrywanie błędów transmisji, retransmisje
Wielodostęp:
- konkretne rozwiązanie to DCF lub nowsze HCF i EDCA
- dla uporządkowania transmisji można stosować mechanizm RTS/CTS
(przy danych przekraczających konfigurowalny rozmiar)
Ramka 802.11 [1] (źródło: http://www.willhackforsushi.com/papers/80211_Pocket_Reference_Guide.pdf) [2] [3]:
- frame control – określa typ ramki
- duration – pole na czas, używane w niektórych typach ramek
- 3 adresy (!) – flagi
form DSito DSwskazują jak interpretować te adresy - numer sekwencyjny
- dane
- FCS – suma kontrolna
Typy ramek:
- Type 1 – control
- ACK
- RTS, CTS
- 802.11e - usprawnia CSMA/CA, wprowadza Block Acks (i Qos Data)
- Konfiguracja beamformingu i MIMO
- Type 0 – management
- Beacon – periodyczne ogłaszanie sieci
- Probe {request, response} – pytanie o dostępne sieci (i odpowiedź)
- Authentication + Deauthentication
- open – otwarte
- restricted – WEP – przestarzałe
- Association {request, response} + Disassociate
- Ramki management są skutecznie chronione przed podrabianiem w poprawce 802.11w wymaganej przez WPA3
- Type 2 – data
Przykładowe ramki (zarejestrowane z AP): sample_wlan_frames.pcap
Mikrotik
Podłączenie do Mikrotika: urządzenia w domyślnej konfiguracji mają adres 192.168.88.1/24 na interfejsie eth0. Do zarządzania na zajęciach proponuję wykorzystać interfejs webowy (http://192.168.88.1/).
Dokumentacja: https://help.mikrotik.com/docs/display/ROS/Wireless+Interface
Tworzenie AP
- interfaces / wireless / nazwa / mode: "ap-bridge"
- interfaces / wireless / nazwa / enable
Mostkowanie interfejsów
- bridge / add
- bridge / ports / add
Ustawianie profilu bezpieczeństwa:
- interfaces / wireless / security profiles / add
- interfaces / wireless / nazwa / security profile
Wiele sieci naraz
- interfaces / wireless / add / VirtualAP
- możliwość wrzucenia ruchu do vlanów:
interfaces / wireless / nazwa / vlan-id
interfaces / wireless / nazwa / vlan-mode : "use tag" - (alternatywnie https://wiki.mikrotik.com/wiki/Manual:VLANs_on_Wireless)
Most bezprzewodowy
- Jeden koniec: interfaces / wireless / nazwa / mode: "bridge"
- Drugi koniec: interfaces / wireless / nazwa / mode: "station-bridge"
- tryby pracy mikrotika: https://wiki.mikrotik.com/wiki/Manual:Wireless_Station_Modes
- przykład WDS mesh: https://wiki.mikrotik.com/wiki/Manual:Interface/HWMPplus#Example
Ekstra
- Padło pytanie: jak dwie sieci ad-hoc różniące się tylko BSSID (cell id) łączą się?
W skrócie: urządzenia należące do sieci ad-hoc pamiętają od jak dawna sieć istnieje i wysyłają to w ramkach beacon; jeśli stacja widzi drugą, starszą sieć ad-hoc (na tym samym kanale i z tym samym ESSID), to przepina się do niej. [1]
Dlaczego w labach tak się nie dzieje? Też jestem ciekaw, podlinkowany artykuł sugeruje problemy karty / sterowników. - Modulacja wykorzystywana w sieciach bezprzewodowych: ODFM (łączona z MIMO, MIMO-OFDM), w 808.11ax - OFDMA, dawniej we wlanach: DSSS, w bluetooth: FHSS. Warto spojrzeć na widma różnych sygnałów w paśmie sieci bezprzewodowej; porównując moc bluetooth/wlan, proszę pamiętać o klasach bluetooth.
show ip interfaces brief też wyświetla stan interfejsów, ale tylko dla interfejsów na których może działać protokół IP; show interfaces description pokaże wszystkie interfejsyguest-mode jest ignorowane jeśli karta rozgłasza wiele sieci


