Aircrack-ng: mon0 is on channel -1, but the AP uses channel X

Dependendo do driver usado, o seguinte erro pode ocorrer:

airodump-ng: Fixed channel to -1 = fixed channel mon0: -1 
aireplay-ng: Wouldn’t false authenticate OR deauth = mon0 is on channel -1, but the AP uses channel XXX

Pesquisando na web, maioria dos sites indicam recompilar o kernel com um patch para resolver o problema.

Mas não e necessário recompilar o kernel!

Você sim vai precisar recompilar o pacote aircrack-ng, mas se utiliza Debian ou Ubuntu, a tarefa e bem simples.

(Solucao baseada no patch descrito em: http://trac.aircrack-ng.org/ticket/742).

Crie um diretório temporario e baixe o fonte do aircrack-ng:

mkdir tmp
cd tmp
apt-get source aircrack-ng

Edite o arquivo src/aireplay-ng.c:

cd aircrack-ng-1.1
cd src
nano aireplay-ng.c

Remova o seguinte código (por volta da linha 726):

        if(ap_chan != iface_chan)
        {
            PCT; printf("%s is on channel %d, but the AP uses channel %dn", wi_get_ifname(wi), iface_chan, ap_chan);
            return -1;
        }

Salve o arquivo.

Va para o diretorio onde foi extraido o codigo fonte (aircrack-ng-1.1):

cd ..

Recompile o .deb:

dpkg-buildpackage

Se tudo deu certo, voce vera a mensagem:

dpkg-deb: building package `aircrack-ng' in `../aircrack-ng_1.1-1.1_amd64.deb'.
 dpkg-genchanges  >../aircrack-ng_1.1-1.1_amd64.changes
dpkg-genchanges: not including original source code in upload
 dpkg-source --after-build aircrack-ng-1.1
dpkg-buildpackage: binary and diff upload (original source NOT included)

Basta instalar o novo pacote com o comando:

dpkg -i ../aircrack-ng_1.1-1.1_amd64.deb

WebPAC: A Proxy auto-config file generator

What’s a .PAC file?

PAC file allows your to create custom rules for proxy settings in an intranet. All workstations can have their proxy settings centralized in one file and you can set different proxies, depending on IP address, URL or network.

Under the hood, it is basically a JavaScript file (but with .pac extension) loaded onto browsers. When the browser is requesting a new URL, the JavaScript function FindProxyForURL() runs, and based on the function’s return value, a proxy is set. Read more