Вот что я использую для ежедневного подключения к точке доступа 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
}
Если у вас есть такой файл conf, вы можете запустить этот скрипт:
#!/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-адрес точки доступа, чтобы заставить это работать.
iwconfig
рекомендуется и не может быть настроено в современном ядре.iw
Метод является более современным / предпочтительным ( nl80211 ). Старыеiwconfig
могут давать странные ошибки, когда поддержка wext не компилируется / не настраивается. То, что делают дистрибутивы инструментов / скриптов, является другой проблемой. Я думаю, если вы используете дистрибутив, они должны позаботиться о том, чтобы предоставить правильные пакеты / конфигурации. Если вы создаете свой собственный, то у вас может быть проблема выше.