przejście do zawartości
Jan Kończak
Narzędzia użytkownika
Zaloguj
Narzędzia witryny
Narzędzia
Pokaż stronę
Poprzednie wersje
Odnośniki
Ostatnie zmiany
Menadżer multimediów
Indeks
Zaloguj
Ostatnie zmiany
Menadżer multimediów
Indeks
Jesteś tutaj:
start
»
sk2
»
wlan
»
linux_basic_commands
sk2:wlan:linux_basic_commands
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
==== 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-tools * https://wireless.wiki.kernel.org/en/users/documentation/iw * https://wireless.wiki.kernel.org/en/users/documentation/iw/replace-iwconfig * https://wireless.wiki.kernel.org/en/users/documentation/iw/vif * ''iw phy'' – fizyczne bezprzewodowe urządzenie sieciowe * ''iw dev'' – interfejs sieciowy (powiązany z jakimś ''phy'') <small> ==== 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'' [[https://wireless.wiki.kernel.org/en/users/documentation/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. </small> ==== Podstawowe komendy ==== Wyświetlanie informacji i skanowanie: <html><div style="margin-top:-1.2em"/></html> | ^ ''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'' \\ <small>np. ''iw //wlan0// info''</small> | ''iwconfig <//if//>'' \\ <small>np. ''iwconfig //wlan0//''</small> | |stan połączenia na podanym interfejsie| ''iw [dev] <//if//> link'' \\ <small>np. ''iw //wlan0// link''</small> | ::: | |informacje o możliwościach karty | ''iw phy'' | — ((Narzędzia z paczki wireless-tools nie mają sensownego wsparcia dla wyświetlania informacji o możliwościach karty sieciowej – przestały być rozwijane zanim sieci bezporzewodowe zostały rozwinięte na tyle że stało się to potrzebne.)) | |skanowania dostępnych sieci | ''iw [dev] <//if//> scan [-u]'' \\ <small>np. ''iw //wlan0// scan -u''</small> \\ <small>(flaga ''-u'' pokazuje też opcje nieznane przez iw)</small> | ''iwlist <//if//> scan'' \\ <small>np. ''iwlist //wlan0// scan''</small> | Zarządzanie pasmem / kanałem / częstotliwością pracy: <html><div style="margin-top:-1.2em"/></html> | ^ ''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//>'' \\ <small>np. ''iw reg set //PL//''</small> | — | |zmiana kanału/częstotliwości \\ podając kanał | ''iw [dev/phy] <//if/phy//> set channel <//nr//> [//width//]'' \\ <small>np. ''iw //wlan0// set channel //13//''</small> \\ <small>np. ''iw //wlan0// set channel //1// //HT40+//''</small> \\ <small>np. ''iw //wlan0// set channel //128// //160MHz//''</small> | ''iwconfig <//if//> channel <//nr//>''((Uwaga: ''iwconfig'' potrafi ustawić tylko kanał 20MHz)) \\ <small>np: ''iwconfig //wlan0// channel //128//''</small> | |zmiana kanału/częstotliwości \\ podając częstotliwość | ''iw [dev/phy] <//if/phy//> set freq <//freq//> [//width//] […]'' \\ <small>np. ''iw //wlan0// set freq //2412// //HT40+//''</small> \\ <small>np. ''iw //wlan0// set freq //5640// //160MHz//''</small> \\ <small>np. ''iw //wlan0// set freq //5200// //80+80// //5210// //5775//''</small> | ''iwconfig <//if//> freq <//freq//>''\\ <small>np: ''iwconfig //wlan0// freq //5640//''</small> | Wybrane tryby pracy karty bezprzewodowej: <html><div style="margin-top:-1.2em"/></html> | ^ ''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 \\ <small>w nowszych jądrach Linuksa AP uruchamia się z trybu managed</small>[[https://wireless.wiki.kernel.org/en/users/Documentation/hostapd|[1]]] | <html><strike></html>''ap''<html></strike></html> | <html><strike></html>''master''<html></strike></html> | Zmiana trybu pracy: <html><div style="margin-top:-1.2em"/></html> | ^ ''iw'' ^ ''iwconfig'' ^ | Zmiana trybu pracy((Większość sterowników pozwala zmieniać tryb tylko dla wyłączonych interfejsów.)) | ''iw [dev] <//if//> set type <//mode//>'' \\ <small>np. ''iw //wlan0// set type ibss''</small> | ''iwconfig <//if//> mode <//mode//>'' \\ <small>np. ''iwconfig //wlan0// mode ad-hoc''</small> | |<small>Dodanie drugiego interfejsu do karty [[https://wireless.wiki.kernel.org/en/users/documentation/iw/vif|[2]]]</small>| <small>''iw <//phy//> interface add <//ifname//> type <//mode//>'' \\ ''iw <//ifname//> interface add <//ifname//> type <//mode//>'' \\ np. ''iw //phy0// interface add //mon0// type //monitor//''</small> | — | Wybór sieci (zmiana SSID / BSSID) dla **''iwconfig''**: * ''iwconfig <//if//> essid <//essid///off>'' – ustawienie nazwy sieci / odłączenie się od sieci * ''iwconfig <//if//> ap <//bssid///auto>'' – wybór AP (BSSID) do którego ma się łączyć Wybór sieci (zmiana SSID / BSSID) dla **''iw''**: <html><div style="margin-top:-1.2em"/></html> |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 === ++++ Tworzenie / dołączanie się do sieci ad-hoc - gotowe komendy | * 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//>'' <html><small></html> ''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 [[sk1:lacze_danych#mierzenie_predkosci|netperf/iperf3 znanych z SK1]] <html></small></html> ++++ === Monitorowanie sieci – gotowe komendy === ++++ 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'' \\ <html><small>Uwaga: kartom intela w laboratorium "zdarza się" zerwać bieżące połączenie przy dodawaniu wirtualnego interfejsu.</small></html> <html><small></html> Sposoby na otrzymanie urządzenia pracującego prawidłowo w trybie ''monitor'': * korzystając z [[http://www.aircrack-ng.org/|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 [[https://en.wikipedia.org/wiki/Promiscuous_mode|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 on'' lub ''ifconfig <//if//> promisc'' \\ wyłączenie powyższego – ''ifconfig <if> -promisc'' lub ''ip l set dev <if> promisc off'' <html></small></html> ++++
sk2/wlan/linux_basic_commands.1701902480.txt.gz
· ostatnio zmienione: 2023/12/06 23:41 przez
jkonczak
Narzędzia strony
Pokaż stronę
Poprzednie wersje
Odnośniki
Złóż / rozłóż wszystko
Do góry