it-swarm.dev

Jak se mohu připojit k WPA wifi síti pomocí příkazového řádku)?

Takže v podstatě bych rád použil iwconfig pro připojení k mé wifi síti, když nejsem uvnitř X. Ale já prostě nevidím způsob, jak to udělat na manuálové stránce. Nějaký nápad?

122
Ken Kinder

iw (list/config) dokáže zpracovat pouze WEP.

Potřebujete balíček wpasupplicant, který poskytuje příkaz wpa_supplicant, V případě potřeby nainstalujte pomocí Sudo apt-get install wpasupplicant.

SSID a heslo vložíte do /etc/wpa_supplicant.conf (Vyžaduje Sudo).

Příklad:

network={
    ssid="ssid_name"
    psk="password"
}

Za předpokladu, že vaše rozhraní je wlan0, můžete se spojit s:

Sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D wext
Sudo dhclient wlan0

„wext“ je ovladač, který bude specifický pro každou kartu; viz wpa_supplicant -h. Příklady:

hostap (default) Host AP driver (Intersil Prism2/2.5/3). (this can also be used with Linuxant DriverLoader).
hermes Agere Systems Inc. driver (Hermes-I/Hermes-II).
madwifi MADWIFI 802.11 support (Atheros, etc.).
atmel ATMEL AT76C5XXx (USB, PCMCIA).
wext Linux wireless extensions (generic).
ndiswrapper Linux ndiswrapper.
broadcom Broadcom wl.o driver.
ipw Intel ipw2100/2200 driver.
wired wpa_supplicant wired Ethernet driver
roboswitch wpa_supplicant Broadcom switch driver
bsd BSD 802.11 support (Atheros, etc.).
ndis Windows NDIS driver.
122
Rinzwind

Tento odkaz ukazuje vše a fungovalo mi dobře: http://linux.icydog.net/wpa.php

Kopíruji zde obsah, takže ho máme, pro případ, že se web přepne do režimu offline.

Příkazový řádek WPA

Někdy budete na příkazovém řádku bez přístupu k síťovým nástrojům GUI - ale váš přístupový bod je zabezpečen pomocí WPA. Co děláš?

Předpokládejme, že vaše bezdrátová karta skutečně funguje (tj. Iwconfig ji může vidět a interagovat s ní), použití wpa_supplicant je ve skutečnosti docela jednoduché. Instalace wpa_supplicant

Většina distros má ve výchozím nastavení nainstalován wpa_supplicant. Pokud máte k dispozici příkazy wpa_passphrase a wpa_supplicant, pak je dobré jít. V opačném případě budete muset balíček nainstalovat tak, že uděláte něco podobného (pro Ubuntu):

$ Sudo apt-get install wpasupplicant

Nebo (pro Fedoru):

# yum install wpa_supplicant

Nebo ať už je váš příkaz jakýkoli pro vaše distro.

Generování konfiguračního souboru

Nyní, když je nainstalován wpa_supplicant, vytvoříme jeho konfigurační soubor. Jakmile znáte SSID a WPA přístupové fráze), vše, co musíte udělat, je spustit:

$ wpa_passphrase myrouter mypassphrase > wpa.conf

Nahraďte „myrouter“ SSID vašeho routeru, „mypassphrase“ vaším WPA passphrase a „wpa.conf“) jakýmkoli souborem, do kterého chcete konfiguraci uložit. Tento název souboru nemusí následovat určitý formát nebo mít konkrétní příponu.

Alternativně, abyste se vyhnuli zadávání přístupové fráze na příkazovém řádku (takže se neuloží v historii Shell), můžete na příkazovém řádku zadat pouze SSID. wpa_passphrase bude čekat, až zadáte přístupové heslo následované enter:

$ wpa_passphrase myrouter > wpa.conf
mypassphrase

Měli byste skončit se souborem, který vypadá takto:

network={
    ssid="myrouter"
    #psk="mypassphrase"
    psk=8ada1f8dbea59704ac379538b4d9191f6a72390581b4cd7a72864cea685b1a7f
}

Připojení

Nyní budeme skutečně spouštět wpa_supplicant pro připojení k bezdrátové síti. Nejprve, pokud váš směrovač vysílá své SSID (ve výchozím nastavení všichni), pravděpodobně byste se měli ujistit, že je vaše bezdrátová karta skutečně vidí:

$ iwlist scan

Možná to budete muset spustit jako root, abyste vynutili aktualizaci.

Dále budete potřebovat znát tři informace:

  1. Které wpa_supplicant bezdrátové ovladače použít pro vaši kartu. Běh wpa_supplicant --help uvádí seznam různých ovladačů, které má (v části „ovladače:“). Od 0.5.8 jsou užitečné volby: wext, hostap, madwifi, atmel, ndiswrapper a ipw (ipw je pouze pro stará jádra;> = 2.6.13 by měl používat wext). Pokud nevidíte konkrétní shodu s vaší kartou, zkuste wext, protože to je druh catch-all.
  2. Síťové zařízení vaší karty. Toto je obvykle eth1 nebo wlan0, ale pokud si nejste jisti, stačí spustit iwconfig. Bude hlásit „žádná bezdrátová rozšíření“ pro bezdrátová zařízení a zobrazí některá data pro všechna bezdrátová zařízení.
  3. Cesta ke konfiguračnímu souboru, který jste vytvořili v předchozím kroku.

Nyní, když máte tato data, spusťte (jako root):

# wpa_supplicant -D[driver] -i[device] -c[/path/to/config]

Mezi možnostmi a parametry nejsou mezery. Nezahrnujte závorky, protože jsem je pro lepší přehlednost přidal. Například pro můj notebook to vypadá takto:

# wpa_supplicant -Dwext -ieth1 -c/root/wpa.conf

Můžete ji také spustit na pozadí pomocí -B možnost, aby nezabírala vaši konzoli.

Nyní jste spojeni se sítí.

Připojení online

Chcete-li se skutečně připojit online, musíte nějakým způsobem získat IP. Většina lidí bude chtít získat pouze dynamickou IP ze serveru DHCP, pravděpodobně ten, který je zabudován do routeru. (Nebudu se zabývat nastavením statické IP a směrovací tabulky, protože to je samo o sobě zvíře.)

Chcete-li získat výpůjčku DHCP, nejprve uvolněte všechny nájemní smlouvy, které stále držíte (jako root):

# dhclient -r

Poté požádejte o novou zapůjčení (samozřejmě nahrazení eth1 názvem síťového zařízení, které jste použili v předchozí části):

# dhclient eth1

Nyní máte IP, alespoň teoreticky. Happy surfování!

75

Debian a další distribuce mají ve výchozím nastavení jako službu službu wpa_suplicant, aby mohli spravovat sítě wifi. wpa_suplicant mohou být zpracovány různými klienty/klientskými rozhraními, jako je GUI správce sítě. To je lépe vysvětleno v tomto debian wiki .

wpa_cli je příkazový řádek wpa_suplicant klienta pro správu wifi sítí.

Upravit : Právě jsem našel tento příspěvek vysvětlující jak používat nmcli a je mnohem lepší než wpa_cli, protože je kompatibilní s Správce sítě GUI a jejich nastavení a uložené WiFi sítě.

Příklad použití wpa_cli :

Zkontrolujte, zda již mám síťové rozhraní s podporou wifi:

# iwconfig
wlan0     IEEE 802.11bgn  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=22 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on

Zkontrolujte, zda je spuštěn proces wpa_suplicant:

# ps -e | grep wpa
1881 ?        00:00:07 wpa_supplicant

Vstupte do interaktivního režimu klienta wpa:

# wpa_cli

Seznam dostupných přístupových bodů:

> scan
> scan_results

... a dostanete něco takového:

bssid / frequency / signal level / flags / ssid
e0:60:66:7c:81:7f       2417    -66     [WPA2-PSK-CCMP][ESS]    vodafone817E
e0:60:66:61:83:4b       2452    -76     [WPA2-PSK-CCMP][WPS][ESS]       vodafone834A
f8:8e:85:c5:65:c2       2462    -76     [WPA-PSK-CCMP+TKIP][WPS][ESS]   MOVISTAR_65C1
a8:d3:f7:46:0c:be       2472    -83     [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS]       Orange-0CBC
...

Přidejte svůj přístupový bod:

> add_network
> set_network 0 ssid "vodafone817E"
> set_network 0 psk "my-pass-phrase"

Vyberte ji jako aktuální:

> enable_network 0

Připojte se k němu:

> reconnect

Zkontrolujte stav:

> status

Konec wpa_cli:

> quit

Z prostředí Shell požádejte DHCP o nastavení IP a sítě:

# dhclient -r
# dhclient wlan0
9
David

Pokud karta není spuštěna, nejprve ji vyložte:

ifconfig wlan0 up

Nastavte parametry podle vaší sítě

iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
3
LnxSlck

Můžete použít VSWM - Very Simple Wireless Manager. Umístíte známé AP do jednoduchého souboru cfg (/etc/vswm.cfg) a když spustíte vswm, prohledá dostupné sítě a propojí vaši kartu s první, která se objeví na /etc/vswm.cfg.

VSWM je k dispozici na https://github.com/dmelo/vswm . Zde je výběr, jak vypadá konfigurační soubor vswm.cfg:

[global]

dev = wlan0
dns = ["4.2.2.1","8.8.8.8"]

[wlan0-0]

ssid = Network1
psk = netpassword
protocol = WPA
net = dhcp

[wlan0-1]

ssid = Network2
protocol = WEP
net = static
address = 192.168.0.15/24

Pod kapotou používá standardní nástroje příkazového řádku: iwlist, wpa_supplicant, iwconfig, dhclient ... Pouze automatizuje úlohu.

2
Diogo Melo

Všechny odpovědi naznačující wpa_supplicant jsou nesprávné. Ano, možná vás připojí k síti WPA, ale je to špatné řešení z dlouhodobého hlediska, protože bude velmi obtížné jej udržovat a nebude hrát hezky s kabelovým připojením. Číst tato odpověď a usnadněte si život pomocí Network Manager z příkazového řádku. Ztrácel jsem hodiny pokusem o konfiguraci wpa_supplicant, pak jsem zkusil nmcli a "to prostě fungovalo".

2
Cerin

Existuje skutečně způsob, jak to udělat pomocí NetworkManageru, pokud máte nainstalovaný balíček checkbox.

Sudo /usr/share/checkbox/create_connection SSID --security=wpa -key=WPA-KEY

(Kredit: chyba 923836 , které se objevilo při mém vyhledávání na toto téma.)

2
zigg

Měl jsem potíže s přímým použitím wpa_supplicant, Abych se dostal do bezdrátové sítě. Když jsem použil soubor wpa_supplicant.conf Na příkazovém řádku wpa_supplicant, Např.

Sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B

Podařilo se mi to vyřešit pomocí wpa_cli. Příkazová sekvence, kterou jsem musel použít, protože používám ovladač Windows s Linuxem ndiswrapper, je:

Sudo modprobe ndiswrapper
Sudo iwconfig wlan0 essid "<My Network ID>" mode managed
Sudo wpa_cli identity "<My Network ID>" password "<My password>"

Síť jsem nechal nastavit přidáním do bezdrátové části sítě v GUI, abych mohl kliknout na ikonu kabelové nebo bezdrátové sítě a vybrat poskytovatele bezdrátové sítě (což bylo někdy nutné pro dokončení přihlášení).

1
John

nmcli je verze příkazového řádku výchozí aplikace Správce sítě na Ubuntu.

Mezi výhody patří to, že používá konfiguraci, kterou již máte z grafického rozhraní, a nevyžaduje přístup root.

Chcete-li zobrazit dostupné možnosti, můžete spustit nmcli.

Příklad připojení k wifi s názvem MYESSID:

    nmcli c up MYESSID   
1
desgua