Як вивести інтерфейс wi-fi з командного рядка?


30

Я не можу зрозуміти, як правильно піднести Wi-Fi карту на своєму ноутбуці. Коли я його включаю і видаю

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

він повідомляє, що мережа працює. Спроба піднести це також не вдається:

$ sudo ifup wlan0
wlan0     no private ioctls.

Failed to bring up wlan0.

Мабуть, мені не вистачає якоїсь базової команди низького рівня iw....

Коли я видаю dhclientінтерфейс:

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

і перервати його, він якось підводить пристрій, а потім сканування і т.д. працює. Я хотів би уникнути цього, очевидно, зайвого кроку.


Існує кілька Wi-Fi інтерфейсів від ядра до простору користувача. Це iwconfigзастаріле і не може бути налаштоване на сучасне ядро. iwМетод є більш сучасним / переважним ( nl80211 ). Старіші iwconfigможуть давати помилки wierd, коли підтримка тексту не компілюється / налаштовується. Які інструменти / сценарії дистрибутивів є доступними - це ще одна проблема. Я думаю, якщо ви використовуєте дистрибутив, вони повинні подбати про надання правильних пакетів / конфігурацій. Якщо ви будуєте свій власний, то у вас може виникнути проблема вище.
невгамовний шум

Відповіді:


29

Справді, спробуйте sudo ifconfig wlan0 up. Детальніше про відповідь Мартіна:

ifupі ifdownкоманди є частиною пакету ifupdown , який зараз вважається застарілим інтерфейсом для конфігурації мережі , порівняно з більш новими, такими як network manager.

Після ifup ifupdownзчитування параметрів конфігурації з /etc/network/interfaces; він запускається pre-up, post-upі post-downсценарії з /etc/network, які включають в себе запуск, /etc/wpasupplicant/ifupdown.shякий обробляє додаткові wpa-*параметри конфігурації для wipa wifi, в /etc/network/interfaces (див. zcat /usr/share/doc/wpasupplicant/README.Debian.gzдокументацію). Для wireless-toolsпакету WEP відіграє аналогічну роль wpa-supplicant. iwconfigє від wireless-tools, теж.

ifconfigводночас є інструментом нижчого рівня , який використовується ifupdownі дозволяє отримати більшу гнучкість. Наприклад, є 6 режимів роботи Wi-Fi адаптера, а IIRC ifupdownохоплює лише керований режим (+ роумінговий режим, який формально не є режимом?). З iwconfigі ifconfigви можете ввімкнути, наприклад, режим монітора бездротової картки, хоча з цим ifupdownви не зможете це зробити безпосередньо.


7
з debian stretch, ifconfigбув замінений ipна альтернативну командуip link set wlan0 up
Бен


4

Ось що я використовую для підключення до точки доступу WEP щодня:

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

Вам потрібно буде ввести ESSID та MAC для будь-якої точки доступу.

Трохи важче для шифрування WPA. Ви повинні мати wpa_supplicant.confфайл із відповідним записом. Подобається це:

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

Коли у вас є такий конф-файл, ви можете запустити цей сценарій:

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

Оновлення, 2014-12-03:

Arch Linux є тим, що він є, мій сценарій підключення до WEP набагато відрізняється. Я подумав, що додам його до цієї відповіді, щоб бути актуальним.

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

Мені довелося перейти на використання iwдуже раптово. Щось про ядро ​​Arch LTS або про драйвери WiFi (мій ноутбук має карту Intel WiFi за допомогою драйвера "iwl4965") змінилося не надто давно. Вам доведеться змінити частоту ("2462") та MAC-адресу точки доступу, щоб це працювало.


3

Станом на Ubuntu 18.04 (і відповідні версії Debian) ifconfigта ifup/ ifdownє застарілими, і рекомендований спосіб підключення інтерфейсу полягає в ipкоманді:

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

І ви можете перевірити наявні інтерфейси за допомогою:

ip link

І ви можете показати призначені ip-адреси для своїх інтерфейсів за допомогою:

ip addr show

Або конкретніше:

ip addr show scope global | grep inet
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.