以下は、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サポートが設定/コンパイルされていません。別の問題は、ツール/スクリプトディストリビューションで利用できるものです。ディストリビューションを使用する場合は、適切なパッケージ/構成を提供するように注意してください。独自に構築する場合、上記の問題が発生する可能性があります。