it-swarm.com.de

Wie verbinde ich mich über die Befehlszeile mit einem WPA WLAN-Netzwerk?

Im Grunde möchte ich iwconfig verwenden, um eine Verbindung zu meinem WLAN-Netzwerk herzustellen, wenn ich nicht in X bin. Aber ich sehe in der Manpage keine Möglichkeit, dies zu tun. Irgendeine Idee?

112
Ken Kinder

iw (list/config) kann nur WEP verarbeiten.

Sie benötigen das Paket wpasupplicant, das den Befehl wpa_supplicant enthält. Installieren Sie es gegebenenfalls über Sudo apt-get install wpasupplicant.

Sie geben Ihre SSID und Ihr Passwort in /etc/wpa_supplicant.conf ein (erfordert Sudo).

Beispiel:

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

Angenommen, Ihre Schnittstelle ist wlan0, mit dem Sie eine Verbindung herstellen können:

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

"wext" ist ein Treiber, der für jede Karte spezifisch ist. Siehe wpa_supplicant -h. Beispiele:

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.
110
Rinzwind

Dieser Link zeigt alles und hat für mich gut funktioniert: http://linux.icydog.net/wpa.php

Ich kopiere den Inhalt hierher, damit wir ihn haben, falls die Site offline geht.

Befehlszeile WPA

Manchmal befinden Sie sich an einer Befehlszeile ohne Zugriff auf GUI-Netzwerktools - Ihr Zugriffspunkt ist jedoch mit WPA gesichert. Wie geht's?

Vorausgesetzt, Ihre WLAN-Karte funktioniert tatsächlich (d. H. Iwconfig kann sie sehen und damit interagieren), ist die Verwendung von wpa_supplicant eigentlich recht einfach. Wpa_supplicant wird installiert

In den meisten Distributionen ist heute standardmäßig wpa_supplicant installiert. Wenn Sie die Befehle wpa_passphrase und wpa_supplicant zur Verfügung haben, können Sie loslegen. Andernfalls müssen Sie das Paket folgendermaßen installieren (für Ubuntu):

$ Sudo apt-get install wpasupplicant

Oder (für Fedora):

# yum install wpa_supplicant

Oder was auch immer der Befehl für Ihre Distribution ist.

Generieren der Konfigurationsdatei

Nach der Installation von wpa_supplicant erstellen wir die Konfigurationsdatei. Sobald Sie die SSID und die WPA -Passphrase kennen, müssen Sie nur noch Folgendes ausführen:

$ wpa_passphrase myrouter mypassphrase > wpa.conf

Natürlich ersetzen Sie "myrouter" durch die SSID Ihres Routers, "mypassphrase" durch Ihre WPA Passphrase und "wpa.conf" durch die Datei, in der Sie die Konfiguration speichern möchten. Dieser Dateiname hat keine einem bestimmten Format folgen oder eine bestimmte Erweiterung haben.

Um zu vermeiden, dass die Passphrase in die Befehlszeile eingegeben wird (damit sie nicht im Shell-Verlauf gespeichert wird), können Sie in der Befehlszeile nur die SSID angeben. wpa_passphrase wartet darauf, dass Sie die Passphrase eingeben, gefolgt von der Eingabe von:

$ wpa_passphrase myrouter > wpa.conf
mypassphrase

Sie sollten am Ende eine Datei haben, die so aussieht:

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

Verbindung herstellen

Jetzt führen wir tatsächlich wpa_supplicant aus, um eine Verbindung zum drahtlosen Netzwerk herzustellen. Erstens, wenn Ihr Router seine SSID sendet (dies geschieht standardmäßig alle), möchten Sie wahrscheinlich sicherstellen, dass Ihre WLAN-Karte diese tatsächlich sehen kann:

$ iwlist scan

Möglicherweise müssen Sie das als root ausführen, um eine Aktualisierung zu erzwingen.

Als Nächstes müssen Sie drei Informationen kennen:

  1. Welche WLAN-Treiber von wpa_supplicant für Ihre Karte verwendet werden sollen. Wenn Sie wpa_supplicant --help ausführen, werden die verschiedenen Treiber aufgelistet (unter "drivers:"). Ab Version 0.5.8 stehen folgende Optionen zur Verfügung: wext, hostap, madwifi, atmel, ndiswrapper und ipw (ipw is nur für alte Kernel;> = 2.6.13 sollte wext verwenden). Wenn Sie keine bestimmte Übereinstimmung für Ihre Karte sehen, versuchen Sie es mit wext, denn das ist der Clou.
  2. Das Netzwerkgerät Ihrer Karte. Dies ist normalerweise eth1 oder wlan0, aber wenn Sie sich nicht sicher sind, können Sie einfach iwconfig ausführen. Es meldet "Keine drahtlosen Nebenstellen" für nicht drahtlose Geräte und zeigt einige Daten für drahtlose Geräte an.
  3. Der Pfad zu der Konfigurationsdatei, die Sie im vorherigen Schritt erstellt haben.

Nun, da Sie diese Daten haben, führen Sie (als root):

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

Zwischen den Optionen und Parametern befinden sich keine Leerzeichen. Schließen Sie die Klammern nicht ein, da ich sie nur der Übersichtlichkeit halber hinzugefügt habe. Für meinen Laptop sieht es zum Beispiel so aus:

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

Sie können es auch im Hintergrund ausführen, indem Sie die Option -B verwenden, damit Ihre Konsole nicht belegt wird.

Jetzt sind Sie mit dem Netzwerk verbunden.

Online gehen

Um tatsächlich online zu gehen, musst du irgendwie eine IP bekommen. Die meisten Leute werden nur eine dynamische IP von einem DHCP-Server erhalten wollen, wahrscheinlich derjenige, der in den Router eingebaut ist. (Ich werde mich nicht mit dem Festlegen einer statischen IP-Adresse und einer Routing-Tabelle befassen, da dies ein Biest für sich ist.)

Um eine DHCP-Lease zu erhalten, geben Sie zunächst alle Leases frei, an denen Sie noch festhalten (als Root):

# dhclient -r

Dann fordern Sie ein neues Leasing an (natürlich ersetzen Sie eth1 durch den Namen Ihres Netzwerkgeräts, den gleichen, den Sie im vorherigen Abschnitt verwendet haben):

# dhclient eth1

Sie haben jetzt zumindest theoretisch eine IP. Viel Spaß beim Surfen!

71

In Debian und anderen Distributionen wird wpa_suplicant standardmäßig als Dienst ausgeführt, um die WLAN-Netzwerke zu verwalten. wpa_suplicant kann von verschiedenen Clients/Frontends wie der Netzwerkmanager-GUI verarbeitet werden. Dies wird in diesem debian wiki besser erklärt.

wpa_cli ist der Befehlszeilen-Client wpa_suplicant zum Verwalten der WLAN-Netzwerke.

Bearbeiten : Ich habe gerade diesen Beitrag gefunden, der erklärt wie man nmcli verwendet und er ist viel besser als wpa_cli, da er mit kompatibel ist der GUI Network Manager und deren Einstellungen sowie gespeicherte WLAN-Netzwerke.

Beispiel für die Verwendung von wpa_cli :

Überprüfen Sie, ob ich bereits eine WLAN-fähige Netzwerkschnittstelle habe:

# 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

Überprüfen Sie, ob der Prozess wpa_suplicant ausgeführt wird:

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

Im interaktiven wpa-Client-Modus eingeben:

# wpa_cli

Liste der verfügbaren Zugangspunkte:

> scan
> scan_results

... und du bekommst so etwas:

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
...

Füge deinen AP hinzu:

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

Wählen Sie es als aktuell:

> enable_network 0

Stellen Sie eine Verbindung her:

> reconnect

Überprüfen Sie den Status:

> status

Wpa_cli beenden:

> quit

Fordern Sie in der Shell DHCP für eine IP- und Netzeinstellung an:

# dhclient -r
# dhclient wlan0
8
David

Bringen Sie zuerst Ihre Karte zum Laufen, wenn sie nicht läuft:

ifconfig wlan0 up

Stellen Sie die Parameter entsprechend Ihrem Netzwerk ein

iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
3
LnxSlck

Sie können VSWM - Very Simple Wireless Manager verwenden. Sie platzieren Ihre bekannten APs in einer einfachen cfg-Datei (/etc/vswm.cfg). Wenn Sie vswm ausführen, werden die verfügbaren Netzwerke durchsucht und Ihre Karte mit der ersten verbunden, die in /etc/vswm.cfg angezeigt wird.

VSWM ist verfügbar unter https://github.com/dmelo/vswm . Hier ist eine Auswahl davon, wie die Konfigurationsdatei vswm.cfg aussieht:

[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

Unter der Haube werden die Standardbefehlszeilentools verwendet: iwlist, wpa_supplicant, iwconfig, dhclient ... Nur der Job wird automatisiert.

2
Diogo Melo

Alle Antworten, die auf wpa_supplicant hindeuten, sind falsch. Ja, es kann Sie mit dem WPA Netzwerk verbinden, aber das ist auf lange Sicht eine schlechte Lösung, da es sehr schwierig zu warten ist und mit einer Kabelverbindung nicht gut funktioniert. Lesen Sie diese Antwort und vereinfachen Sie Ihr Leben, indem Sie Network Manager über die Befehlszeile verwenden. Ich habe Stunden damit verbracht, wpa_supplicant zu konfigurieren, dann habe ich nmcli ausprobiert und es hat "einfach funktioniert".

2
Cerin

Es gibt tatsächlich eine Möglichkeit, dies mit NetworkManager zu tun, wenn Sie das Paket checkbox installiert haben.

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

(Credit: Bug 923836 , das bei meinen Suchen zu diesem Thema auftauchte.)

2
zigg

Ich hatte Probleme, mit wpa_supplicant direkt in ein drahtloses Netzwerk zu gelangen. Meine Netzwerk-ID und mein Kennwort haben Fehler generiert, als ich die Datei wpa_supplicant.conf in der Befehlszeile wpa_supplicant verwendet habe, z.

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

Ich konnte es mit wpa_cli umgehen. Die Befehlsfolge, die ich verwenden musste, da ich einen Windows-Treiber mit Linux ndiswrapper verwende, lautet:

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

Ich habe das Netzwerk eingerichtet, indem ich es im Abschnitt "Drahtlos" des Netzwerks in der GUI hinzugefügt habe, sodass ich auf das Symbol für ein verkabeltes oder drahtloses Netzwerk klicken und den Drahtlosanbieter auswählen konnte (was manchmal erforderlich war, um die Anmeldung abzuschließen).

1
John

nmcli ist die Befehlszeilenversion der Standard-Netzwerkmanager-App unter Ubuntu.

Einige der Vorteile sind, dass die Konfiguration verwendet wird, die Sie bereits über die grafische Oberfläche haben, und kein Root-Zugriff erforderlich ist.

Sie können nmcli ausführen, um die verfügbaren Optionen anzuzeigen.

Beispiel für eine Verbindung zu einem WLAN mit dem Namen MYESSID:

    nmcli c up MYESSID   
1
desgua