Monitor mode per la scheda wifi USB Belink

Saturday, 11 November 06
Visto che per ora ho avuto qualche problema di connettivita' lo smanettamento si e' accanito sul wifi. Ho comprato qualche giorno fa una scheda wifi il cui driver per linux non supportava il monitor mode (che e' necessario per sniffare il traffico che gira in aria liberamente), cosi' ho modificato il driver per farlo entrare in questa speciale modalita' e ne ho ricevato un po' di divertimento e conoscenza del protocollo 802.11.

Codice e istruzioni sono qui (in inglese). Questa scheda e molto economica, l'ho presa a 28 euro se non erro, ma funziona abbastanza bene, ed essendo USB e' facile trasportarla ovunque... e come detto si puo' usare su Linux. Peccato che il driver rt2x00 di serialmonkey non sembra funzionare sulla mia scheda. Questo driver aveva il supporto per il monitor mode, decisamente migliore e piu' stabile di quello aggiunto da me al driver originale della RalinkTech (che pero' sempre GPL e').

Alla prox!
19900 views*
Posted at 16:25:35 | permalink | 2 comments | print
Do you like this article?
Subscribe to the RSS feed of this blog or use the newsletter service in order to receive a notification every time there is something of new to read here.

Note: you'll not see this box again if you are a usual reader.

Comments

Wanted writes:
28 Dec 06, 12:53:14
Ciao, mi interessa molto l'hack che hai fatto al driver e vorrei farti qualche domanda :) ...tipo, cosa hai modificato per ativare il monitor mode??

Grazie Wanted
antirez writes:
31 Dec 06, 11:35:48
Wanted: in breve:

a) Molte schede wifi hanno un registro da settare che controlla il filtering hardware delle schede. Bisogna specificare tramite questo registro che la scheda deve far passare tutti i tipi di pacchetti, sia quelli indirizzati al suo indirizzo fisico che tutti gli altri (cio' si chiama modo promiscuo). Inoltre la scheda deve fare passare anche i frame di controllo e cosi' via.

b) Bisogna modificare il driver per fargli "capire" le IOCTL necessarie per entrare e uscire dal monitor mode, e poi prendersi cura di modificare le funzioni di ricezione dei pacchetti cosi' da trasmettere nel caso in cui il monitor mode sia attivo l'intero frame, e cambiare anche il "link layer type" della scheda.

Insomma bisogna un po' capire di kernel hacking altrimenti e' abbastanza dura. Ma non preoccuparti, se conosci bene il C il kernel hacking e' solo un po' oscuro, non e' piu' difficile di altre cose quali scrivere un interprete o un compilatore, un server per un protocollo di rete complesso o altre cose del genere.

Cerca "Linux device drivers pdf" su google per trovare un libro gratuito scritto da Alessandro Rubini che parla di kernel hacking e ti spiega molte cose dall'inizio.
comments closed