web-dev-qa-db-fra.com

Comment afficher une interface Wi-Fi à partir d'une ligne de commande?

Je n'arrive pas à comprendre comment afficher correctement la carte Wi-Fi sur mon ordinateur portable. Quand je l'allume et émets

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

il signale que le réseau est en panne. Essayer de le faire échouer aussi:

$ Sudo ifup wlan0
wlan0     no private ioctls.

Failed to bring up wlan0.

Apparemment, il me manque un bas niveau bas iw... commande.

Lorsque j'émets dhclient sur l'interface:

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

et l'interrompre, cela amène l'appareil en quelque sorte, puis la numérisation, etc. fonctionne. Je voudrais éviter cette étape manifestement superflue.

32
Petr Pudlák

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


Réponse du 13 avril 17:

Pour développer la réponse de Martin:

Les commandes ifup et ifdown font partie de paquet ifupdown , qui désormais est considéré comme un frontal hérité pour la configuration résea , par rapport aux plus récentes, comme network manager.

Sur ifupifupdown lit les paramètres de configuration de /etc/network/interfaces; il exécute les scripts pre-up, post-up et post-down à partir de /etc/network, qui incluent le démarrage de /etc/wpasupplicant/ifupdown.sh qui traite une configuration supplémentaire de wpa-* options pour wpa wifi, dans /etc/network/interfaces (voir zcat /usr/share/doc/wpasupplicant/README.Debian.gz pour la documentation). Pour WEP, le package wireless-tools Joue un rôle similaire à wpa-supplicant. iwconfig provient également de wireless-tools.

ifconfig en même temps est un outil de niveau inférieur , qui est utilisé par ifupdown et permet une plus grande flexibilité. Par exemple, il existe 6 modes de fonctionnement de l'adaptateur wifi et l'IIRC ifupdown ne couvre que le mode géré (+ le mode roaming, qui n'est formellement pas le mode?). Avec iwconfig et ifconfig vous pouvez activer par ex. mode moniteur de votre carte sans fil, alors qu'avec ifupdown vous ne pourrez pas le faire directement.

ip command est un outil plus récent qui fonctionne par dessus netlink sockets , une nouvelle façon de configurer la pile réseau du noyau à partir de l'espace utilisateur (des outils comme ifconfig sont construits sur le dessus de ioctl appels système).

31
Boris Burkov

Essayez ifconfig wlan0 up au lieu de ifup.

12
Martin von Wittich

Depuis Ubuntu 18.04 (et les versions Debian correspondantes) ifconfig et ifup/ifdown sont obsolètes, et la méthode recommandée pour faire apparaître l'interface est avec le ip commande:

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

Et vous pouvez vérifier vos interfaces disponibles avec:

ip link

Et vous pouvez afficher les adresses IP attribuées à vos interfaces avec:

ip addr show

Ou plus précisément:

ip addr show scope global | grep inet
4
shellcat_zero

Voici ce que j'utilise pour me connecter à un point d'accès WEP au quotidien:

#!/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

Vous devrez mettre l'ESSID et le MAC pour le point d'accès que vous souhaitez.

C'est un peu plus difficile pour le cryptage WPA. Vous devez avoir un wpa_supplicant.conf fichier avec une entrée appropriée. Comme ça:

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

Une fois que vous avez un tel fichier conf, vous pouvez exécuter ce script:

#!/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 

Mise à jour, 2014-12-03:

Arch Linux étant ce qu'il est, mon script de connexion à WEP est très différent. J'ai pensé l'ajouter à cette réponse pour la garder à jour.

#!/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

J'ai dû passer à l'utilisation de iw très soudainement. Quelque chose au sujet du noyau Arch LTS ou des pilotes WiFi (mon ordinateur portable a une carte WiFi Intel utilisant le pilote "iwl4965") a changé il n'y a pas si longtemps. Vous devrez modifier la fréquence ("2462") et l'adresse MAC du point d'accès pour que cela fonctionne.

4
Bruce Ediger