it-swarm.com.de

Wie rufe ich eine Wi-Fi-Schnittstelle über eine Befehlszeile auf?

Ich kann nicht herausfinden, wie ich die Wi-Fi-Karte auf meinem Laptop richtig aufrufen kann. Wenn ich es einschalte und ausstelle

$ Sudo iwconfig wlan0 txpower auto
$ Sudo iwlist wlan0 scan
wlan0     Interface doesn't support scanning : Network is down

es wird gemeldet, dass das Netzwerk ausgefallen ist. Der Versuch, es aufzurufen, schlägt ebenfalls fehl:

$ Sudo ifup wlan0
wlan0     no private ioctls.

Failed to bring up wlan0.

Anscheinend fehlen mir einige grundlegende Low-Level iw... Befehl.

Wenn ich dhclient auf der Schnittstelle ausgeben:

$ Sudo dhclient -v wlan0
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

^C$

und unterbrechen Sie es, es bringt das Gerät irgendwie hoch und dann funktioniert das Scannen usw. Ich möchte diesen offensichtlich überflüssigen Schritt vermeiden.

32
Petr Pudlák

Sudo ip link set wlan0 up Oder Sudo ifconfig wlan0 up.


Antwort vom 13. April 17:

Um die Antwort von Martin zu erläutern:

ifup und ifdown Befehle sind Teil von ifupdown-Paket , das jetzt wird als Legacy-Frontend für die Netzwerkkonfiguration angesehen im Vergleich zu neueren Befehlen, wie network manager.

Nach ifupifupdown werden die Konfigurationseinstellungen von /etc/network/interfaces Gelesen; Es werden die Skripte pre-up, post-up und post-down von /etc/network ausgeführt, einschließlich des Startens von /etc/wpasupplicant/ifupdown.sh, das die zusätzliche Konfiguration wpa-* verarbeitet Optionen für wpa wifi in /etc/network/interfaces (Dokumentation siehe zcat /usr/share/doc/wpasupplicant/README.Debian.gz). Für WEP spielt das Paket wireless-tools Eine ähnliche Rolle wie wpa-supplicant. iwconfig stammt ebenfalls von wireless-tools.

ifconfig zur gleichen Zeit ist ein untergeordnetes Werkzeug , das von ifupdown verwendet wird und mehr Flexibilität ermöglicht. Zum Beispiel gibt es 6 Modi für die Funktion des WLAN-Adapters und IIRC ifupdown deckt nur den verwalteten Modus ab (+ Roaming-Modus, welcher Modus ist formal nicht?). Mit iwconfig und ifconfig können Sie aktivieren z. Überwachungsmodus Ihrer WLAN-Karte, während Sie mit ifupdown dies nicht direkt tun können.

Der Befehl ip ist ein neueres Tool, das auf netlink sockets basiert, einer neuen Methode zum Konfigurieren des Kernel-Netzwerkstapels über den Benutzerbereich (Tools wie ifconfig basieren darauf von ioctl Systemaufrufen).

31
Boris Burkov

Versuchen ifconfig wlan0 up anstelle von ifup.

12

Ab Ubuntu 18.04 (und den entsprechenden Debian-Versionen) sind ifconfig und ifup/ifdown veraltet, und die empfohlene Methode zum Aufrufen der Schnittstelle ist ip Befehl:

ip link set dev <interface> up
ip link set dev <interface> down

Und Sie können Ihre verfügbaren Schnittstellen überprüfen mit:

ip link

Und Sie können die zugewiesenen IP-Adressen Ihrer Schnittstellen anzeigen mit:

ip addr show

Oder genauer:

ip addr show scope global | grep inet
4
shellcat_zero

Folgendes verwende ich, um täglich eine Verbindung zu einem WEP-Zugangspunkt herzustellen:

#!/bin/bash

DEV=$(iw dev | awk '/Interface/ {interf=$2} END {print interf}')
PIDFILE=/var/run/dhcpcd-$DEV.pid


if [[ -f $PIDFILE ]] && kill -0 $(cat /var/run/dhcpcd-$DEV.pid)
then
    dhcpcd -k $DEV
fi

ifconfig $DEV down
sleep 1
iwconfig $DEV mode managed
iwconfig $DEV  key blabfoobar
ifconfig $DEV up
iwconfig $DEV essid 'Unindicted Co-conspirator'
iwconfig $DEV ap 00:0D:51:EB:E5:1E

sleep 5
dhcpcd --noipv6rs --noarp $DEV

Sie müssen die ESSID und den MAC für den gewünschten Zugriffspunkt eingeben.

Für WPA Verschlüsselung) ist es etwas schwieriger. Sie müssen eine wpa_supplicant.conf - Datei mit einem entsprechenden Eintrag haben.

# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
network={
    ssid="FaveCoffeeHouse"
    psk="cafe241800"
    priority=1
}

Sobald Sie eine solche conf-Datei haben, können Sie dieses Skript ausführen:

#!/bin/bash

DEV=$(iw dev | awk '/Interface/ {print $2}')

ifconfig $DEV down
iwconfig $DEV mode managed
ifconfig $DEV up
iwconfig $DEV essid 'FaveCoffeeHouse'
iwconfig $DEV ap 00:21:1e:3d:2a:80

echo now run: wpa_supplicant -Dnl80211 -i$DEV -c./wpa_supplicant.conf 

pdate, 03.12.2014 :

Da Arch Linux das ist, was es ist, ist mein Connect-to-WEP-Skript ganz anders. Ich dachte, ich würde es dieser Antwort hinzufügen, um es auf dem neuesten Stand zu halten.

#!/bin/bash

DEV=wlp12s0

if [[ -f /run/dhcpcd-$DEV.pid ]]
then
        kill -QUIT $(cat /run/dhcpcd-$DEV.pid)
fi

ifconfig $DEV down
iw dev $DEV set type managed
ifconfig $DEV up
sleep 2

iw dev wlp12s0 connect -w 'Akond of Swat' 2462 00:7c:41:eb:e5:1e key 0:befedade

sleep 15

dhcpcd -4 --nohook 10-wpa_supplicant --noarp --noipv6rs $DEV

Ich musste sehr plötzlich auf iw umsteigen. Etwas am Arch LTS-Kernel oder den WiFi-Treibern (mein Laptop hat eine Intel WiFi-Karte mit dem Treiber "iwl4965") hat sich vor nicht allzu langer Zeit geändert. Sie müssen die Frequenz ("2462") und die MAC-Adresse des Access Points ändern, damit dies funktioniert.

4
Bruce Ediger