Table of Contents

Airmon-ng

Tradução e Adaptação: JaymesSmith
Iniciado em: 12/02/08
Completado em: 06/03/08

Descrição

Este script pode ser usado para habilitar Modo Monitor em interfaces de placas wireless. Ele também pode ser usado para desligar (parar) tais interfaces. Digitar o comando airmon-ng sem parâmetros mostrará o estado da interface (status).

Uso

airmon-ng <start|stop> <interface> [canal]

Onde:

Exemplos de Uso

Usos Típicos

Para iniciar wlan0 em modo monitor: airmon-ng start wlan0

Para iniciar wlan0 em modo monitor no canal 8: airmon-ng start wlan0 8

Para parar wlan0: airmon-ng stop wlan0

Para verificar o estado da interface (status): airmon-ng

Modo Monitor do driver Madwifi-ng

Isto descreve como colocar sua interface em modo monitor. Após a inicialização do seu computador, digite iwconfig para mostrar o estado atual das interfaces wireless. Parecerá com algo similar ao seguinte resultado.

Digite “iwconfig”:

 lo        no wireless extensions.
 
 eth0      no wireless extensions.
 
 wifi0     no wireless extensions.
 
 ath0      IEEE 802.11b  ESSID:""  Nickname:""
           Mode:Managed  Channel:0  Access Point: Not-Associated   
           Bit Rate:0 kb/s   Tx-Power:0 dBm   Sensitivity=0/3  
           Retry:off   RTS thr:off   Fragment thr:off
           Encryption key:off
           Power Management:off
           Link Quality:0  Signal level:0  Noise level:0
           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
           Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Se você quer usar ath0 (que já está em uso):

airmon-ng stop ath0 

E o sistema irá responder:

 Interface       Chipset         Driver
 
 wifi0           Atheros         madwifi-ng
 ath0            Atheros         madwifi-ng VAP (parent: wifi0) (VAP destroyed)

Agora, se você rodar “iwconfig”:

Sistema responde:

 lo        no wireless extensions.
 
 eth0      no wireless extensions.
 
 wifi0     no wireless extensions.

Você pode ver que a interface ath0 se foi.

Para iniciar ath0 em modo monitor: airmon-ng start wifi0

Sistema responde:

 Interface       Chipset         Driver
 
 wifi0           Atheros         madwifi-ng
 ath0            Atheros         madwifi-ng VAP (parent: wifi0) (monitor mode enabled)

Agora digite “iwconfig”.

Sistema responde:

 lo        no wireless extensions.
 
 eth0      no wireless extensions.
 
 wifi0     no wireless extensions.
 
 ath0      IEEE 802.11g  ESSID:""  
        Mode:Monitor  Frequency:2.452 GHz  Access Point: 00:0F:B5:88:AC:82   
        Bit Rate=2 Mb/s   Tx-Power:18 dBm   Sensitivity=0/3  
        Retry:off   RTS thr:off   Fragment thr:off
        Encryption key:off
        Power Management:off
        Link Quality=0/94  Signal level=-96 dBm  Noise level=-96 dBm
        Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
        Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Note que ath0 está em modo monitor. Tenha certeza também de que o ESSID, apelido (nickname) e criptografia não foram configurados. O Acess Point mostra o endereço MAC da placa. O endereço MAC da placa somente é mostrado quando se utiliza o driver madwifi-ng. Outros drivers não mostram o endereço MAC da placa.

Se ath1/ath2 etc. estão rodando, então pare cada um primeiro antes de todos os comandos acima:

 airmon-ng stop ath1

Você pode configurar o número do canal adicionando-o ao final: airmon-ng start wifi0 9

Dicas de Uso

Confirmando se a Placa está em Modo Monitor

Para confirmar se a placa está em modo monitor, execute o comando iwconfig. Você pode então confirmar o modo “monitor” e o nome da interface.

Para o driver madwifi-ng, o campo Access Point do iwconfig te mostra o endereço MAC da sua placa wireless.

Determinando o Canal em Uso

Para determinar o canal em uso, digite iwlist <nome da interface> canal. Se você estará trabalhando com um Access Point específico, então o canal em uso da placa deve corresponder àquele do AP. Nesse caso, é uma boa idéia incluir o número do canal quando executar o comando airmon-ng inicial.

BSSIDs com Espaços, Caracteres Especiais

Veja este registro em Perguntas Freqüentes (FAQ) sobre como definir seu BSSID se tiver espaços, aspas duplas ou simples ou ainda caracteres especiais nele.

Como Coloco Minha Placa de Volta ao Modo Administrado?

Depende de qual driver você está usando. Para todos os drivers, exceto madwifi-ng:

 airmon-ng stop <nome da interface>

Para driver madwifi-ng, primeiro pare TODAS as interfaces:

 airmon-ng stop athX

Onde X é 0, 1, 2, etc. faça uma parada para cada interface que o iwconfig lista.Where X is 0, 1, 2 etc. Do a stop for each interface that iwconfig lists.

Então:

wlanconfig ath create wlandev wifi0 wlanmode sta

Ver documentação do site do madwifi-ng.

Resolução de Problemas

Geral

Quase sempre os scripts padrões em uma distribuição linux irão configurar ath0 e/ou interfaces athX adicionais. Esses scripts todos devem ser apagados primeiros pelas instruções acima. Outro problema é que o script configura campos como ESSID, apelido e criptografias. Certifique-se de que todos esses campos estão apagados.

Número da interface athX aumentando (ath0, ath1, ath2.... ath45..)

A descrição e solução original do problema podem ser encontradas neste tópico do fórum.

Problema: Toda vez que o comando “airmon-ng start wifi0 x” é executado, uma nova interface é criada como deveria ser, mas existem dois problemas. O primeiro é que para cada vez que o airmon-ng é executado em wifi0, o número da interface em ath aumenta: a primeira vez é ath1, a segunda ath2, a terceira ath3, e por aí em diante. E isso continua em um curto período de tempo até ath56 e continua a subir. Descarregar (unload) o driver madwifi-ng, oureiniciar o sistema não tem efeito e o número da interface criada pelo airmon-ng continua a aumentar.

O segundo problema é que se você executar o airmon-ng em wifi0, o athX criado não mostra como estando em Modo Monitor, mesmo embora esteja. Isso pode ser confirmado via iwconfig.

Todos esses problemas estão relacionados a como udev associa nomes de interface. A resposta está aqui: http://madwifi.org/ticket/972#comment:12 Agradecimentos à lucida. A fonte do problema vem do gerador de regras de rede contínuo do udev.

Cada distribuição é diferente… Então aqui está uma solução específica para Gentoo. Você deve conseguir adaptar esta solução à sua própria distribuição.

Gentoo 2.6.20-r4 Udev 104-r12 Madwifi 0.9.3-r2 Aircrack-ng 0.7-r2

Solução:

Mude o arquivo /etc/udev/rules.d/75-persistent-net-generator.rules

DE: KERNEL==“eth*|ath*|wlan*|ra*|sta*…….. PARA: KERNEL==“eth*|Ath*|wlan*|ra*|sta*…….

Em outras palavras, você apenas muda para maiúscula a letra “a”. ath* se torna Ath*. Salve o arquivo.

Agora delete o arquivo /etc/udev/rules.d/70-persistent-net.rules.

Remova o driver e insira-o de volta.

Remover ath também funciona: KERNEL==“eth*|wlan*|ra*|sta*….

Isso está também no Gentoo, ambos 2.6.19-gentoo-r5 e 2.6.20-gentoo-r6

Para o Ubuntu, veja estepost no Fórum. A versão modificada de /etc/udev/rules.d/75-persistent-net-generator.rules é:

 # estas regras geram regras para nomeação de dispositivo de rede contínuo:
 
 ACTION=="add", SUBSYSTEM=="net", KERNEL=="eth*|Ath*|wlan*|ra*|sta*" \
NAME!="?*", DRIVERS=="?*", GOTO="persistent_net_generator_do"
 
 GOTO="persistent_net_generator_end"
 LABEL="persistent_net_generator_do"
 
 # construir string de descrição do dispositivo para adicionar um comentário à regra gerada
 SUBSYSTEMS=="pci", ENV{COMMENT}="PCI device attr{vendor}:$attr{device}($attr{driver})"
 SUBSYSTEMS=="usb", ENV{COMMENT}="USB device 0x$attr{idVendor}:0x$attr{idProduct}($attr{driver})"
 SUBSYSTEMS=="ieee1394", ENV{COMMENT}="Firewire device $attr{host_id})"
 SUBSYSTEMS=="xen", ENV{COMMENT}="Xen virtual device"
 ENV{COMMENT}=="", ENV{COMMENT}="$env{SUBSYSTEM} device ($attr{driver})"
 
 IMPORT{program}="write_net_rules $attr{address}"
 ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"
 
 LABEL="persistent_net_generator_end"

Interface ath1 criada ao invés de ath0

Esta dica de solução de problema serve para os drivers madwifi-ng. Primeiro tente parar cada interface VAP que está sendo executada (“airmon-ng stop <interface>” onde <interface> é o nome VAP). Você pode obter a lista do iwconfig. Então dê “airmon-ng start wifi0”.

Se isso não resolver o problema, então siga a recomendação nesse tópico.

Por que eu recebo a mensagem "ioctl(SIOCGIFINDEX) failed"?

Se você ver mensagens de erro parecidas com:

Então veja esta registro no FAQ.

Mensagem de Erro: "wlanconfig: command not found"

Se você receber “wlanconfig: command not found” ou similar, então o comando wlanconfig está faltando no seu sistema ou não está no caminho. Use locate ou find para determinar se ele está no seu sistema e em qual diretório ele se encontra.

Se não está no seu sistema, então tenha certeza de que você executou um “make install”I após ter compilado os drivers madwifi-ng. No Ubuntu, execute “apt-get install madwifi-tools”.

Se não está em um diretório no seu caminho, então mova-o para lá ou adicione o diretório ao seu caminho.

airmon-ng mostra RT2500 ao invés de RT73

Veja este registro sobre instalando o driver RT73.