Dydaktyka:
FeedbackTo jest stara wersja strony!
iw – komenda mająca na celu zastąpienie wireless-toolsiw phy – fizyczne bezprzewodowe urządzenie siecioweiw dev – interfejs sieciowy (powiązany z jakimś phy)
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 skanowanie:
iw | iwconfig |
|
|---|---|---|
| pomoc dla komendy | iw help | iwconfig --help |
| lista i stan wszystkich interfejsów | iw dev | iwconfig |
| stan wybranego interfejsu | iw [dev] <if> info np. iw wlan0 info | iwconfig <if> np. iwconfig wlan0 |
| stan połączenia na podanym interfejsie | iw [dev] <if> link np. iw wlan0 link |
|
| informacje o możliwościach karty | iw phy | — 1) |
| skanowania dostępnych sieci | iw [dev] <if> scan [-u] np. iw wlan0 scan -u (flaga -u pokazuje też opcje nieznane przez iw) | iwlist <if> scan np. iwlist wlan0 scan |
Zarządzanie pasmem / kanałem / częstotliwością pracy:
iw | iwconfig |
|
|---|---|---|
| lista wspieranych przez kartę kanałów/częstotliwości | iw [phy] <phy> [channels] | iwlist channel |
| 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 | iwconfig <if> channel <nr>2) np: iwconfig wlan0 channel 128 |
| 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 | iwconfig <if> freq <freq>np: iwconfig wlan0 freq 5640 |
Wybrane tryby pracy karty bezprzewodowej:
iw | iwconfig |
|
|---|---|---|
| monitor (nasłuchiwanie) | monitor | monitor |
| urządzenie w sieci IBSS | ibss | ad-hoc |
| klient łączący się do BSS | managed | managed |
| access point w nowszych jądrach Linuksa AP uruchamia się z trybu managed[1] | ap | master |
Zmiana trybu pracy:
iw | iwconfig |
|
|---|---|---|
| Zmiana trybu pracy3) | iw [dev] <if> set type <mode> np. iw wlan0 set type ibss | iwconfig <if> mode <mode> np. iwconfig wlan0 mode ad-hoc |
| Dodanie drugiego interfejsu do karty [2] | iw <phy> interface add <ifname> type <mode> iw <ifname> interface add <ifname> type <mode> np. iw phy0 interface add mon0 type monitor | — |
Wybór sieci (zmiana SSID / BSSID) dla iwconfig:
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ć
Wybór sieci (zmiana SSID / BSSID) dla iw:
| 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 |
Tworzenie / dołączanie się do sieci ad-hoc - gotowe komendy
ip l set dev <if> down / ifconfig <if> down)ad-hoc / ibss: iwconfig <if> mode ad-hoc iw <if> set type ibssiwconfig <if> essid <essid> + iwconfig <if> freq <freq> 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 – 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.
Sposoby na otrzymanie urządzenia pracującego prawidłowo w trybie monitor:
airmon-ng start <if> [channel]iw:iw [dev/phy] <if> interface add <newif> type monitor, np: iw wlan0 interface add mon0 type monitoriw dev mon0 set monitor fcsfail control otherbssifconfig <if> downiwconfig <if> mode monitor ifconfig <if> upip l set dev <if> promisc on lub ifconfig <if> promisc ifconfig <if> -promisc lub ip l set dev <if> promisc off
iwconfig potrafi ustawić tylko kanał 20MHz