Saturday, June 16, 2012

How to find aircrack compat wireless driver

I know can be many ways to find the right driver on linux to a wireless device but after some time searching it's that how I found my aircrack compat wireless driver.

First I downloaded, compiled and installed all wireless drivers at 

compat-wireless-3.5-rc2-1:

 $ wget http://www.orbit-lab.org/kernel/compat-wireless-3-stable/v3.5/compat-wireless-3.5-rc2-1.tar.bz2 
 $ tar jxvf compat-wireless-3.5-rc2-1.tar.bz2; cd compat-wireless-3.5-rc2-1
 $ make
 $ sudo make install
and restart.

I have two wireless devices chipsets: Broadcom and Atheros. The Broadcom stopped work so I tested Atheros:
 $ sudo airmon-ng stop wlan1;sudo ifconfig wlan1 down;sudo macchanger --mac 00:11:22:33:44:55 wlan1;sudo airmon-ng start wlan1  
Result:
 ...
 Interface  Chipset    Driver  
 wlan1    Unknown   carl9170 - [phy0]  
         (monitor mode enabled on mon0)

The monitor mode was working and I found out the driver installed was carl9170.

Second I uninstall all wireless drivers at compat-wireless-3.5-rc2-1:

 ... 
 $ cd compat-wireless-3.5-rc2-1 
 $ sudo make uninstall
and restart.

After restart all wireless drivers at compat-wireless-3.5-rc2-1 were removed and Broadcom and Atheros started to work again.

Third (re)compiling only the right driver:

 ... 
 $ cd compat-wireless-3.5-rc2-1
 $ ./scripts/driver-select carl9170
 $ make
 $ sudo make install
restart.

Now  Broadcom is woking with ubuntu original driver and Atheros with compat wireless driver carl9170.

Aircrack on Ubuntu 12.04

System - Sistema

  • Ubuntu 12.04 LTS ($ cat /etc/lsb-release)
    • Kernel 3.2.0-25-generic ($ uname -r)
  • Wireless device TL-WN822N v1.1 ($ nm-tool)
    • Chipset: Atheros ($ lsusb)
    • Driver (for aircrack ): carl9170
 

Installing Aircrack-ng on Ubuntu 12.04

Aircrack-ng was NOT in the Ubuntu 12.04 repository so we have to compile by the source.
 $ sudo apt-get install build-essential libssl-dev  
 $ wget http://download.aircrack-ng.org/aircrack-ng-1.1.tar.gz  
 $ tar -zxvf aircrack-ng-1.1.tar.gz; cd aircrack-ng-1.1  

In the aircrack-ng-1.1 directory:
 $ vi common.mak  

Find the line:
 CFLAGS ?= -g -W -Wall -Werror -O3  
and delete the -Werror variable:
 CFLAGS ?= -g -W -Wall -O3  
save and exit.

Run:
 $ make
 $ sudo make install

Installing compat-wireless drivers

Download the last stable release compat wireless driver

I'm using compat-wireless-3.5-rc2-1:
 $ wget http://www.orbit-lab.org/kernel/compat-wireless-3-stable/v3.5/compat-wireless-3.5-rc2-1.tar.bz2 
 $ tar jxvf compat-wireless-3.5-rc2-1.tar.bz2; cd compat-wireless-3.5-rc2-1

NOTE: my driver for aircrack is carl9170 to TL-WN822N v1.1 chipset Atheros. You have to find your own driver. See how I found my aircrack compat wireless driver post.

Compiling the driver:
 $ ./scripts/driver-select carl9170
 $ make
 $ sudo make install
Restart.

Testing

Optional:
  • Install macchanger
  • $ sudo apt-get install macchanger
 $ iwconfig  
Find your wireless device:
 wlan1   IEEE 802.11bgn ESSID:off/any   
          Mode:Managed Access Point: Not-Associated  Tx-Power=20 dBm   
          Retry long limit:7  RTS thr:off  Fragment thr:off  
          Power Management:off  
As you can see interface is wlan1 and mode is managed

Enable monitor mode:
 $ sudo airmon-ng stop wlan1  
 $ sudo ifconfig wlan1 down  
 $ sudo macchanger --mac 00:11:22:33:44:55 wlan1  
 $ sudo airmon-ng start wlan1  
or shortly:
 $ sudo airmon-ng stop wlan1;sudo ifconfig wlan1 down;sudo macchanger --mac 00:11:22:33:44:55 wlan1;sudo airmon-ng start wlan1  
Result:
 ...
 Interface  Chipset    Driver  
 wlan1    Unknown   carl9170 - [phy0]  
         (monitor mode enabled on mon0)  

Checking again:
 $ iwconfig  

 mon0   IEEE 802.11bgn  
          Mode:Monitor Frequency:2.462 GHz Tx-Power=20 dBm   
          Retry long limit:7  RTS thr:off  Fragment thr:off  
          Power Management:off  
As you can see interface now is mon0 and mode is monitor

Thursday, September 15, 2011

Guerra dos Navegadores - Browser Wars

Vídeo Documentário
by John Heilemann

A Guerra dos Navegadores (2008) é um documentário dinâmico sobre a história dos browsers desde o surgimento do Netscape (primeiro navegador) até a parcial "vitória" do Microsoft Internet Explorer
Video Documentary
by John Heilemann


 The Browser Wars (2008) is a dynamic documentary about the history of browsers since the Netscape (the first browser) to partial "victory" for Microsoft Internet Explorer.

Links:
Comprar - Buy it: Amazon





    Monday, August 22, 2011

    Servidor Django de baixo custo na kinghost

    Há alguns meses contratei os serviços de hospedagem do kinghost pois precisava de um servidor somente para apresentar os resultados dos meus projetos (sem muitos acessos) e não queria me preocupar com todos os detalhes que evolvem as configurações de um servidor de produção no Linode por exemplo.

    Os serviços do kinghost custam em torno de R$15 / mês e me atendem sem problema. (Essa também é uma boa opção para quem quer um servidor localizado fisicamente no Brasil.) Lembrando que escolhi esse plano e servidor pois quase não preciso de suporte (apenas para instalar alguns pacotes) fiz todas estas configurações estudando sozinho e não encontrei muito material a respeiro no kinghost.

    No servidor:
    • CentOS
    • Python 2.4.3
      • Não precisei modificar
    • Django 1.0.4 final
    • Apache/2.2.3
    • mod_WSGI DAEMON MODE
    • SVN
      • Uso Mercurial (ou GIT)
    • Arquivos estáticos (poste abaixo)

      A versão python utilizada me atende sem problemas (creio que seja possível modificar via chamado).
        Para deploy e controle de versão eficientes deixei de lado o SVN e criei uma conta no Bitbucket que usa o Mercurial (O mesmo é possível usando Github e Git). Assim criei duas contas uma para mim e outra para o servidor quando finalizo uma versão local envio para o Bitbucket e depois atualizo (hg pull) no servidor realizando assim o deploy e o controle de versão.

        Boa sorte a todos!

        Thursday, August 18, 2011

        Django Pinax static css js corrigir links quebrados kinghost

        Continuando as configurações do kinghost se tudo o que está no poste anterior deu certo ainda há o problema dos arquivos estáticos para resolver.

        .../settings.py
         STATIC_URL = "/site_media/static/"  
         ...  
         ADMIN_MEDIA_PREFIX = posixpath.join(STATIC_URL, "admin/")  
        

        Nos aquivos dos templates
        .../base.html
         <link href="{{ STATIC_URL }}pinax/css/base.css" rel="stylesheet">  
        
        que aponta para:
         <link href="/site_media/static/pinax/css/base.css" rel="stylesheet">  
        

        Na pasta "home" no servidor há um arquivo chamado "www" que seria o "/" dos aquivos estáticos, logo se eu preciso de "/site_media/static/pinax/css/base.css" na aplicação crio um link simbólico "site_media -> /home/<seu_nome>/apps_wsgi/<nome_do_projeto>/site_media" (link site_media apontando para site_media dentro do meu projeto) dentro de "www".

        Exemplo:
         ~/www  
            /site_media -> /home/<você>/apps_wsgi/dev/site_media  
                      /static -> /home/<você>/pinax/pinax-dev/lib/python2.4/site-packages/pinax/media/default  
        

        No Admin.
        .../Base.html
         <link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% load adminmedia %}{% admin_media_prefix %}css/base.css{% endblock %}" />  
        
        que aponta para:
         <link href="/site_media/static/admin/css/base.css" type="text/css" rel="stylesheet">  
        

        Logo dentro da pasta "~/www/site_media/static/" tenho que criar a pasta admin/ e apontar para os arquivos estáticos. Entre outras que também serão necessárias.

        Exemplo:
         ~/www/site_media/static  
                     /admin -> /home/<você>/pinax/pinax-dev/lib/python2.4/site-packages/django/contrib/admin/media/  
                     /css -> /home/<você>/pinax/pinax-dev/lib/python2.4/site-packages/pinax/projects/basic_project/media/css  
                     /js -> /home/<você>/apps_wsgi/dev/media/js  
                     /uni_form -> /home/<você>/pinax/pinax-dev/lib/python2.4/site-packages/uni_form/media/uni_form  
         ...  
        

        E assim por diante até que o console do Chrome ou o firebug não tenha mais erros 404.

        Fontes:
        Django static files - https://docs.djangoproject.com/en/dev/howto/static-files/

        Sunday, August 7, 2011

        Como instalar Pinax 0.9 e Django 1.2.3 com virtualenv no kinghost

        Servidor Kinghost:
        • CentOS - Linux imia.kinghost.net Kernel 2.6.31
        • Python 2.4.3
        • Django 1.0.4 final
        • Apache/2.2.3 - Jan 15 2008 20:33:30
          • mod_WSGI DAEMON MODE

        Preciso modificar o Django para versão 1.2.3 para instalar o Pinax 0.9a (última versão).

        Instalando virtualenv:
         $ easy_install virtualenv  
        
        Criando um ambiente de desenvolvimento no virtualenv:
         $ python /home/<seu-nome>/apps_wsgi/.site-packages/virtualenv <seu-ambient> 

        Instalando PIL - Python Image Library
         $ easy_install PIL  
        

        Instalando Pinax 0.9 (versão de desenvolvimento):
         $ pip install Pinax  
        

        Entre no ambiente criado
         $ source <seu-ambient>/bin/activate  
        

        Escolha um dos projetos Pinax
         $ pinax-admin setup_project -l  
        

        Clone o projeto (clonando "social" no exemplo abaixo)
         $ pinax-admin setup_project -b social dev 

        Para esse exemplo chamei meu projeto de "dev" e logo depois o renomei para "_dev":
         $ mv dev _dev 

        Assim eu posso ir até o painel de controle e criar um projeto Django com o nome "dev" e após finalizado o processo de criação copiar o conteúdo da pasta "_dev" para "dev" aproveitando assim todas as configurações no servidor e do meu projeto Pinax.

        Para finalizar é preciso modificar o arquivo dev.wsgi:
         import os, sys  
         activate_this = '/home/<seu-nome>/pinax/pinax-dev/bin/activate_this.py'  
         execfile(activate_this, dict(__file__=activate_this))  
         paths=['/home/<seu-nome>/apps_wsgi',  
             '/home/<seu-nome>/apps_wsgi/dev/apps']  
         for path in paths:  
           if path not in sys.path:  
             sys.path.append(path)  
         os.environ['PYTHON_EGG_CACHE'] = '/home/<seu-nome>/apps_wsgi/.python-eggs'  
         os.environ['DJANGO_SETTINGS_MODULE']='dev.settings'  
         from django.core.handlers.wsgi import WSGIHandler  
         application=WSGIHandler()  
        

        Fontes:
        Pinax - http://pinaxproject.com/docs/dev/gettingstarted/
        Pinax Docs - http://pinaxproject.com/docs/dev/
        VirtualEnv - http://www.arthurkoziel.com/2008/10/22/working-virtualenv/
        WSGI - http://code.google.com/p/modwsgi/wiki/VirtualEnvironments