Ativando placas wireless com o Ndiswrapper
Ativando placas wireless com o Ndiswrapper
O Ndiswrapper é uma espécie de Wine para drivers de placas de rede wireless. Ele funciona como uma camada de abstração entre driver e o sistema operacional, permitindo que placas originalmente não suportadas no Linux funcionem usando os drivers do Windows.
Em alguns casos o próprio driver para Windows XP que acompanha a placa funcionará, em outros é preciso usar alguma versão específica do driver. Você pode encontrar várias dicas sobre placas testadas por outros usuários do Ndiswrapper no:
http://ndiswrapper.sourceforge.net/wiki/index.php/List
Os drivers para Windows são arquivos executáveis, que servem entre intérpretes entre a placa e o sistema operacional. Eles contém o firmware da placa e outras funções necessárias para fazê-la funcionar. Cada placa é diferente, por isso os drivers de uma não funcionam na outra mas, todos os drivers conversam com o sistema operacional usando uma linguagem específica de comandos. Ou seja, do ponto de vista do sistema operacional todos os drivers são parecidos.
O Ndiswrapper consegue executar o driver e "conversar" com ele usando esta linguagem. Ele trabalha como um intérprete, convertendo os comandos enviados pelo Kernel do Linux em comandos que o driver entende e vice-versa. O Kernel acha que está conversando com uma placa suportada, o driver acha que está rodando dentro de um sistema Windows e a placa finalmente funciona, mesmo que o fabricante não tenha se dignado a escrever um driver nativo.
O Ndiswrapper não funciona com todas as placas e em outras alguns recursos como o WPA não funcionam, mas na maior parte dos casos ele faz um bom trabalho.
A página do projeto é a:
http://ndiswrapper.sourceforge.net
Muitas distribuições já trazem o Ndiswrapper instalado por padrão, como o Kurumin e o Mandrake 10 em diante. Nestes casos você pode pular este tópico sobre a instalação e ir direto para a configuração. Procure pelo pacote "ndiswrapper" no gerenciador de pacotes.
Instalando
Na página você encontrará apenas um pacote com o código fonte. Como o Ndiswrapper precisa de um módulo instalado no Kernel, seria complicado para os desenvolvedores manter versões para muitos distribuições diferentes. Assim como no caso dos softmodems, para compilar o pacote você precisa ter instalados os pacotes kernel-headers e/ou kernel-source e os compiladores. A versão mais recente pode ser baixada no:
http://sourceforge.net/projects/ndiswrapper/
Descompacte o arquivo e acesse a pasta que será criada. Para compilar e instalar, basta rodar o comando:
# make install
(como root)
O Ndiswrapper é composto de basicamente dois componentes. Um módulo, o ndiswrapper.ko (ou ndiswrapper.o se você estiver usando uma distribuição com o Kernel 2.4), que vai na pasta "/lib/modules/2.x.x/misc/" e um executável, também chamado "ndiswrapper", que é usado para configurar o driver, apontar a localização do driver Windows que será usado, etc.
Se por acaso você estiver usando uma distribuição que já vem com o Ndiswrapper instalado, você deve primeiro remover o pacote antes de instalar uma versão mais atual. Caso a localização do módulo ou do executável no pacote da distribuição seja diferente, pode acontecer de continuar sendo usado o driver antigo, mesmo depois que o novo for instalado.
Configurando
Depois de instalar o Ndiswrapper, o próximo passo é rodar o comando "depmod -a" (como root) para que a lista de módulos do Kernel seja atualizada e o novo módulo seja realmente instalado. Isto deve ser feito automaticamente pelo script de instalação, é apenas uma precaução.
Antes de ativar o Ndiswrapper você deve apontar a localização do arquivo .inf dentro da pasta com os drivers para Windows para a sua placa. Em geral os drivers para Windows XP são os que funcionam melhor, seguidos pelos drivers para Windows 2000. Você pode usar os próprios drivers incluídos no CD de instalação da placa. Se eles não funcionarem, experimente baixar o driver mais atual no site do fabricante, ou pesquisar uma versão de driver testada no ndiswapper no:
http://ndiswrapper.sourceforge.net/wiki/index.php/List
Para carregar o arquivo do driver rode o comando "ndiswrapper -i", seguido do caminho completo para o arquivo, como em:
# ndiswrapper -i /mnt/hda6/Driver/WinXP/GPLUS.inf
Rode agora o comando "ndiswrapper -l" para verificar se o driver foi mesmo ativado. Você verá uma lista como:
Installed ndis drivers: gplus driver present, hardware present
Com o driver carregado, você já pode carregar o módulo com um:
# modprobe ndiswrapper
Se tudo estiver ok, o led da placa irá acender, indicando que ela está ativa. Agora falta apenas configurar os parâmetros da rede Wireless que veremos adiante.
Se a placa não for ativada, você ainda pode tentar uma versão diferente do driver. Neste você precisa primeiro descarregar o primeiro driver. Rode o ndiswrapper -l para ver o nome do driver e em seguida descarregue-o com o comando "ndiswrapper -e".
No meu caso por exemplo o driver se chama "gplus" então o comando fica:
# ndiswrapper -e gplus
Para que a configuração seja salva e o Ndiswrapper seja carregado durante o boot, você deve rodar o comando:
# ndiswrapper -m
E em seguida adicionar a linha "ndiswrapper" no final do arquivo "/etc/modules", para que o módulo seja carregado no boot.
Gostou da dica? Veja a agenda de cursos presenciais com Carlos E. Morimoto em Porto Alegre e São Paulo
- Curso: Redes e Servidores Linux (com Carlos E. Morimoto) Em Porto Alegre, início dia 04/07
- Curso: Programando em Shell Script (com Júlio Cezar Neves) Em Porto Alegre, início dia 11/07
Fonte: http://www.dicas-l.com.br/print/20050624.html
Usando o Kismet
Usando o Kismet
Colaboração: Carlos E. Morimoto
O Kismet é uma ferramenta poderosa, que pode ser usado tanto para checar a segurança de sua própria rede wireless, quanto para checar a presença de outras redes próximas e assim descobrir os canais que estão mais congestionados (configurando sua rede para usar um que esteja livre) ou até mesmo invadir redes. O Kismet em sí não impõe restrições ao que você pode fazer. Assim como qualquer outra ferramenta, ele pode ser usado de forma produtiva ou destrutiva, de acordo com a índole de quem usa.
A página do projeto é a: http://www.kismetwireless.net/.
A principal característica do Kismet é que ele é uma ferramenta passiva. Ao ser ativado, ele coloca a placa wireless em modo de monitoramento (rfmon) e passa a escutar todos os sinais que cheguem até sua antena. Mesmo pontos de acesso configurados para não divulgar o ESSID ou com a encriptação ativa são detectados.
Como ele não transmite pacotes, apenas escuta as transmissões, todo o processo é feito sem prejudicar as redes vizinhas e de forma praticamente indetectável. A principal limitação é que, enquanto está em modo de monitoramento, a placa não pode ser usada para outros fins. Para conectar-se a uma rede, você precisa primeiro parar a varredura.
Esta questão da detecção dos pontos de acesso com o ESSID desativado é interessante. Não é possível detectá-los diretamente, pois eles não respondem a pacotes de broadcast (por isso eles não são detectados por programas como o Netstumbler), mas o Kismet é capaz de detectá-los quando um cliente qualquer se associa a eles, pois o ESSID da rede é transmitido de forma não encriptada durante o processo de associação do cliente.
A partir daí, o Kismet passa a capturar todos os pacotes transmitidos. Caso a rede esteja encriptada, é possível descobrir a chave de encriptação usando o aircrack (que veremos a seguir), permitindo tanto escutar as conexões, quanto ingressar na rede.
Como o Kismet é uma das ferramentas mais usadas pelos crackers, é sempre interessante usá-lo para verificar a segurança da sua própria rede. Tente agir como algum vizinho obstinado agiria, capturando os pacotes ao longo de alguns dias. Verifique a distância de onde consegue pegar o sinal de sua rede e quais informações consegue descobrir. Depois, procure meios de reforçar a segurança da rede e anular o ataque.
Por ser uma ferramenta popular, ele está disponível na maioria as distribuições. Algumas, como o Knoppix (a partir da versão 3.7), já o trazem instalado por padrão.
Nas distribuições derivadas do Debian, você pode instalá-lo via apt-get:
# apt-get install kismet
Antes de ser usar, é preciso configurar o arquivo "/etc/kismet/kismet.conf", especificando a placa wireless e o driver usado por ela, substituindo a linha:
source=none,none,addme
Por algo como:
source=madwifi_ag,ath0,atheros
... onde o "madwifi_ag" é o driver usado pela placa (que você pode verificar usando o comando lspci). Na documentação do Kismet o driver é chamado de "capture source", pois é a partir dele que o Kismet obtém os pacotes recebidos.
o "ath0" é a interface (que você vê através do comando ifconfig) e o "atheros" é um apelido para a placa (que você escolhe), com o qual ela será identificada dentro da tela de varredura.
Isto é necessário, pois o Kismet precisa de acesso de baixo nível ao hardware. Isto faz com que a compatibilidade esteja longe de ser perfeita. Diversas placas não funcionam em conjunto com o Kismet, com destaque para as placas que não possuem drivers nativos e precisam ser configurados através do ndiswrapper. Se você pretende usar o Kismet, o ideal é pesquisar antes de comprar a placa. Naturalmente, para que possa ser usada no Kismet, a placa precisa ter sido detectada pelo sistema, com a ativação dos módulos de Kernel necessários. Por isso, prefira sempre usar uma distribuição recente, que traga um conjunto atualizado de drivers. O Kurumin e o Kanotix estão entre os melhores neste caso, pois trazem muitos drivers que não vem pré instalados em muitas distribuições.
Você pode ver uma lista detalhada dos drivers de placas wireless disponíveis e como instalar manualmente cada um deles no meu livro Linux Ferramentas Técnicas.
Veja uma pequena lista dos drivers e placas suportados no Kismet 2006-04-R1:
- acx100: O chipset ACX100 foi utilizado em placas de diversos fabricantes, entre eles a DLink, sendo depois substituído pelo ACX111. O ACX100 original é bem suportado pelo Kismet, o problema é que ele trabalha a 11 megabits, de forma que não é possível testar redes 802.11g.
- admtek: O ADM8211 é um chipset de baixo custo, encontrado em muitas placas baratas. Ele é suportado no Kismet, mas possui alguns problemas. O principal é que ele envia pacotes de broadcast quando em modo monitor, fazendo com que sua varredura seja detectável em toda a área de alcance do sinal. Qualquer administrador esperto vai perceber que você está capturando pacotes.
- bcm43xx: As placas com chipset Broadcom podiam até recentemente ser usadas apenas no ndiswrapper. Recentemente, surgiu um driver nativo (http://bcm43xx.berlios.de) que passou a ser suportado no Kismet. O driver vem incluído por padrão a partir do Kernel 2.6.17, mas a compatibilidade no Kismet ainda está em estágio experimental.
- ipw2100, ipw2200, ipw2915 e ipw3945: Estes são os drivers para as placas Intel, encontrados nos notebooks Intel Centrino. O Kismet suporta toda a turma, mas você precisa indicar o driver correto para a sua placa entre os quatro.
O ipw2000 é o chipset mais antigo, que opera a 11 megabits; o ipw2200 é a segunda versão, que suporta tanto o 8011.b, quanto o 802.11g; o ipw2915 é quase idêntico ao ipw2200, mas suporta também o 802.11a, enquanto o ipw3945 é uma versão atualizada, que é encontrada nos notebooks com processadores Core Solo e Core Duo.
madwifi_a, madwifi_b, madwifi_g, madwifi_ab e madwifi_ag: Estes drivers representam diferentes modos de operação suportados pelo driver madwifi (http://sourceforge.net/projects/madwifi/), usado nas placas com chipset Atheros. Suportam tanto o driver madwifi antigo, quanto o madwifi-ng.
Usando os drivers madwifi_a, madwifi_b ou madwifi_g, a placa captura pacotes apenas dentro do padrão selecionado (o madwifi_a captura apenas pacotes de redes 802.11a, e assim por diante). O madwifi_g é o mais usado, pois captura simultaneamente os pacotes de redes 802.11b e 802.11g. O madwifi_ag, por sua vez, chaveia entre os modos "a" e "g", permitido capturar pacotes de redes que operam em qualquer um dos três padrões, mas num ritmo mais lento, devido ao chaveamento.
rt2400 e rt2500: Estes dois drivers dão suporte às placas com chipset Ralink, outro exemplo de chipset de baixo custo que está se tornando bastante comum. Apesar de não serem exatamente "placas de alta qualidade", as Ralink possuem um bom suporte no Linux, graças em parte aos esforços do próprio fabricante, que abriu as especificações e fornece placas de teste para os desenvolvedores. Isto contrasta com a atitude hostil de alguns fabricantes, como a Broadcom e a Texas (que fabrica os chipsets ACX).
rt8180: Este é o driver que oferece suporte às placas Realtek 8180. Muita gente usa estas placas em conjunto com o ndiswrapper, mas elas possuem um driver nativo, disponível no http://rtl8180-sa2400.sourceforge.net/. Naturalmente, o Kismet só funciona caso seja usado o driver nativo.
prism54g: Este driver dá suporte às placas com o chipset Prism54, encontradas tanto em versão PCI ou PCMCIA, quanto em versão USB. Estas placas são caras e por isso relativamente incomuns no Brasil, mas são muito procuradas entre os grupos que fazem wardriving, pois as placas PCMCIA são geralmente de boa qualidade e quase sempre possuem conectores para antenas externas, um pré-requisito para usar uma antena de alto ganho e assim conseguir detectar redes distantes.
orinoco: Os drivers para as placas com chipset Orinoco (como as antigas Orinoco Gold e Orinoco Silver) precisam de um conjunto de patches para funcionar em conjunto com o Kismet, por isso acabam não sendo placas recomendáveis. Você pode ver detalhes sobre a instalação dos patches no http://www.kismetwireless.net/HOWTO-26_Orinoco_Rfmon.txt.
Depois de definir o driver, a interface e o nome no "/etc/kismet/kismet.conf", você pode abrir o Kismet chamando-o como root:
# kismet
Inicialmente, o Kismet mostra as redes sem uma ordem definida, atualizando a lista conforma vai descobrindo novas informações. Pressione a tecla "s" para abrir o menu de organização, onde você pode definir a forma como a lista é organizada, de acordo com a qualidade do canal, volume de dados capturados, nome, etc. Uma opção comum (dentro do menu sort) é a "c", que organiza a lista baseado no canal usado por cada rede.
Por padrão, o Kismet chaveia entre todos os canais, tentando detectar todas as redes disponíveis. Neste modo, ele captura apenas uma pequena parte do tráfego de cada rede, assim como você só assiste parte de cada programa ao ficar zapiando entre vários canais da TV.
Selecione a rede que quer testar usando as setas e pressione "shift + L" (L maiúsculo) para travá-lo no canal da rede especificada. A partir daí ele passa a concentrar a atenção numa única rede, capturando todos os pacotes transmitidos:
Você pode também ver informações detalhadas sobre cada rede selecionando-a na lista e pressionando enter. Pressione "q" para sair do menu de detalhes e voltar à tela principal.
Outro recurso interessante é que o Kismet avisa sobre "clientes suspeitos", micros que enviam pacotes de conexão para os pontos de acesso, mas nunca se conectam a nenhuma rede, indício de que provavelmente são pessoas fazendo wardriving ou tentando invadir redes. Este é o comportamento de programas como o Netstumbler (do Windows). Micros rodando o Kismet não disparam este alerta, pois fazem o scan de forma passiva:
ALERT: Suspicious client 00:12:F0:99:71:D1 - probing networks but never participating.
O Kismet gera um dump contendo todos os pacotes capturados, que vai por padrão para a pasta "/var/log/kismet/". A idéia é que você possa examinar o tráfego capturado posteriormente usando o Ethereal. O problema é que, ao sniffar uma rede movimentada, o dump pode se transformar rapidamente num arquivo com vários GB, exibindo que você reserve bastante espaço no HD.
Um dos maiores perigos numa rede wireless é que qualquer pessoa pode capturar o tráfego da sua rede e depois examiná-lo calmamente em busca de senhas e outros dados confidenciais transmitidos de forma não encriptada. O uso do WEP ou outro sistema de encriptação minimiza este risco, pois antes de chegar aos dados, é necessário quebrar a encriptação.
Evite usar chaves WEP de 64 bits, pois ele pode ser quebrado via força bruta caso seja possível capturar uma quantidade razoável de pacotes da rede. As chaves de 128 bits são um pouco mais seguras, embora também estejam longe de ser inquebráveis. Em termos se segurança, o WPA está à frente, mas usá-lo traz problemas de compatibilidade com algumas placas e drivers.
Sempre que possível, use o SSH, SSL ou outro sistema de encriptação na hora de acessar outras máquinas da rede ou baixar seus e-mails.
No Guia "Acesso Remoto: SSH, FreeNX e VNC", vemos como é é possível criar um túnel seguro entre seu micro e o gateway da rede, usando o SSH, permitindo assim encriptar todo o tráfego. Ele está disponível no:
Gostou da dica? Venha fazer um curso com o autor:
Curso: Redes e servidores Linux
Com Carlos E. Morimoto
Em São Paulo, de 29/05 a 03/06 (intensivo, com aulas à tarde)
Este é um curso sobre a configuração de servidores Linux. Nele você aprende a configurar cada serviço diretamente nos arquivos de configuração ou utilizando ferramentas genéricas, sem se prender a uma única distribuição. Os exemplos dados durante o curso usam como base o Debian e Fedora, com dicas de peculiaridades do Mandriva, Slackware, Kurumin e Ubuntu.
Este é um curso intensivo, onde você passa menos tempo vendo teoria e opções pouco usadas e mais tempo aprendendo a resolver problemas do dia a dia. O formato das aulas permite que sejam abordados uma grande quantidade de temas numa única semana, oferecendo uma visão global dos recursos disponíveis e onde eles podem ser aplicados. Ao invés de fazer um curso sobre o Squid, outro sobre o Samba, outro sobre o Apache, etc., você aprende muitas coisas de uma única vez, economizando tempo e dinheiro.
Nesta turma do dia 29/05, combinou do curso de redes e o curso para iniciantes serem ministrados na mesma semana: o curso para iniciantes de segunda a sexta, das 8:00 às 11:00, e o curso de redes das 12:30 às 18:00. Fazendo o curso de redes, você tem acesso também às aulas para iniciantes e pode fazer os dois cursos simultaneamente (pagando apenas um), e assim aproveitar para tirar todas as dúvidas.
Veja mais detalhes sobre a programação de cursos, temas abordados, preços e formas de pagamento no:
http://guiadohardware.net/cursos/
Todas as aulas do curso de redes são ministradas pelo próprio Carlos Morimoto, o que garante o nível do curso. Nada de aulas inaugurais e mutretas do gênero :)
Fonte: http://www.dicas-l.com.br/print/20060509.html
Configurando WEBCAM no Debian Gnu/Linux
Configurando WEBCAM no Debian Gnu/Linux
Colaboração: André Jaccon
Este artigo explica como configurar uma webcam QuickCam chipset Logitech no Debian Gnu/Linux.
Informações de hardware usado:
- WebCam Dexxa chipset Logitech - compativel com driver QuickCam
Informações sobre o sistema:
Debian 3.0 R2 ( Kernel 2.4.28) - Stable Main
Módulos carregados no kernel
c-qcam ibmcam usbvideo videodev usb-uhci usbcore
Pacotes necessários:
xawtv usbutils usbview qc-usb-source qc-usb-utils
Driver a ser compilado
- qc-usb-0.6.2.tar.gz, Download: http://qce-ga.sourceforge.net/
Considerações iniciais
Para começar é necessário que seja carregado os devidos módulos no kernel, para isso usaremos o aplicativo nativo do Debian Gnu/Linux o modconf:
#modconf
agora precisamos encontrar a sessão /kernel/drivers/usb, nesta sessão será carregado os módulos:
audio + ibmcam + usbcore + usbvideo +
depois devemos encontrar a sessão /kernel/drivers/media/video, lá devemos carregar os seguintes módulos:
c-qcam + videodev +
Para verificar se os módulos realmente estão presentes na máquina use o comando lsmod:
#lsmod
Instalando e configurando os pacotes necessários com apt-get Agora devemos baixar os aplicativos necessários para a configuração do driver QuickCam da logitech, para isso com o aplicativo Apt-Get para baixar os aplicativos:
xawtv usbutils usbview qc-usb-source qc-usb-utils, para isso use o comando:
# apt-get install xawtv usbutils usbview qc-usb-source qc-usb-utils
os mirrors usados para baixar estes pacotes foram:
deb http://ftp.br.debian.org/debian/ testing main deb-src http://ftp.br.debian.org/debian/ testing main deb http://security.debian.org/ testing/updates main deb http://mirrors.kernel.org/debian/ stable main deb-src http://mirrors.kernel.org/debian/ stable main deb http://download.videolan.org/pub/videolan/debian woody main deb-src http://download.videolan.org/pub/videolan/debian woody main deb http://download.videolan.org/pub/videolan/debian sarge main deb-src http://download.videolan.org/pub/videolan/debian sarge main deb http://download.videolan.org/pub/videolan/debian sid main deb-src http://download.videolan.org/pub/videolan/debian sid main
Para isso basta adicionar estas linha em seu arquivo /etc/apt/sources.list e depois executar o update da base do Apt-Get com o comando:
#apt-update
Compilando o driver
Para compilar o driver será necessário o Kernel source usado em seu Debian Gnu/Linux, no meu caso como fiz o upgrade do kernel para a versão 2.4.28 usei a source estava disponivél no diretório /usr/src/linux < - link simbólico do sistema para linux-2.4.28.
Tendo os requisitos necessários para compilação todos OK, agora vamos continuar
Baixe o driver Qc USB 0.6.2
Descompacte no local desejado e na sequência use dentro do diretório do driver o comando:
#./quickcam LINUX_DIR=/usr/src/linux
O script quickcam deve ser executado como super-usuário e o parâmetro do caminho indicado pela flag LINUX_DIR, é o caminho onde está o source do kernel, com isso o script deve iniciar uma sequência de perguntas que devem ser respondidas atenciosamente.
Ao final do processo o script deve iniciar o xawtv testando sua webcam, o comando para verificar as imagens da WebCam através do xawtv são:
#xawtv -noscale -noxv -c "/dev/video0"
É essêncial que ao final seja copiado o arquivo quickcam.o para a pasta /lib/modules/linux-2.4-seu-kernel/drivers/usb/ e depois carregado com o comando: #insmod quickcam.o
ou ainda pelo próprio modconf.
Sites relacionados:
Confira ainda o Snapshot que criei com a camera em funcionamento:

Fonte: http://www.dicas-l.com.br/print/20050112.html





Últimos comentários