这是我每天用来连接到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是什么,我的connect-to-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驱动程序(我的笔记本电脑具有使用“ iwl4965”驱动程序的Intel WiFi卡)的内容。您必须更改接入点的频率(“ 2462”)和MAC地址才能使其正常工作。
iwconfig
已被弃用,不得被配置到现代性的核心。该iw
方法更为现代/首选(nl80211)。iwconfig
如果未对wext支持进行编译/配置,则Older 可能会给出更奇怪的错误。发行版提供哪些工具/脚本是另一个问题。我想如果您使用发行版,他们应该注意提供正确的软件包/配置。如果您自己构建,则可能存在上述问题。