Aqui está o que eu uso para conectar-me a um ponto de acesso WEP diariamente:
#!/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
Você precisará inserir o ESSID e o MAC para qualquer ponto de acesso que desejar.
É um pouco mais difícil para a criptografia WPA. Você precisa ter um wpa_supplicant.conf
arquivo com uma entrada apropriada. Como isso:
# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
network={
ssid="FaveCoffeeHouse"
psk="cafe241800"
priority=1
}
Depois de ter esse arquivo conf, você pode executar este 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
Atualização, 03/12/2014:
Sendo o arch linux o que é, meu script connect to WEP é muito diferente. Pensei em adicioná-lo a esta resposta para mantê-lo atualizado.
#!/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
Eu tive que mudar para usar iw
muito de repente. Algo no kernel do Arch LTS ou nos drivers WiFi (meu laptop possui uma placa Intel WiFi usando o driver "iwl4965") mudou há pouco tempo. Você precisará alterar a frequência ("2462") e o endereço MAC do ponto de acesso para que isso funcione.
iwconfig
está obsoleto e não pode ser configurado em um kernel moderno. Oiw
método é mais moderno / preferido ( nl80211 ). Mais antigosiwconfig
podem gerar erros estranhos quando o suporte ao wext não é compilado / configurado. Quais ferramentas / scripts as distribuições disponibilizam é outro problema. Eu acho que se você usar uma distribuição, eles devem ter o cuidado de fornecer os pacotes / configurações corretos. Se você criar seu próprio, poderá ter o problema acima.