
Vediamo assieme come far funzionare correttamente il packet injection sulle chede Intel PRO/wireless 3945ABG.
Per fare ciò abbiamo bisogno di driver appositi, di cui possiamo effettuare il download da questo sito (per i kernel precedenti al 2.6.24), quest’altro per i kernel a partire dal 2.6.24; e di un semplice script che ci aiuterà nell’attivazione del packet injection, che trovate qui .
Tanti di voi si staranno chiedendo:”Se installo questi driver, quelli che uso normalmente e che mi fanno navigare su Internet perfettamente, che fine fanno?”. La domanda è più che lecita, e vi rispondo che di tutto ciò non dobbiamo preoccuparci perchè faremo in modo che all’avvio del sistema operativo si avviino i driver “standard”(cioè il modulo ipw3945), e solo quando decidiamo noi, disattiveremo temporaneamente il modulo ipw3945 ed attiveremo i nuovi driver(ipwraw).
Fatta questa piccola premessa, procediamo all’installazione del modulo ipwraw.
Per prima cosa scompattiamo l’archivio ipwraw-ng-2.0.0-10072007.tar.bz2
tar -xjf ipwraw-ng-2.0.0-10072007.tar.bz2
quindi entriamo nella cartella ipwraw-ng appena estratta ed installiamo il modulo ipwraw
cd ipwraw-ng
make
sudo make install
sudo make install_ucode
A questo punto, installato il driver, dobbiamo fare in modo che non parta all’avvio del sistema. Quindi modifichiamo il file /etc/modules/modprobe.d/blacklist
sudo gedit /etc/modules/modprobe.d/blacklist
aggiungendo alla fine del file la seguente stringa
blacklist ipwraw
salviamo e chiudiamo il file.
Aggiorniamo le dipendenze con
sudo depmod -ae
Adesso abbiamo tutto pronto per fare packet injection con la nostra scheda, ci basterà disattivare il modulo ipw3945
sudo modprobe -r ipw3945
ed attivare il modulo ipwraw
sudo modprobe ipwraw
Per ripristinare il modulo ipw3945 basta eseguire la procedura inversa, disattiviamo ipwraw e attiviamo ipw3945
sudo modprobe -r ipwraw
sudo modprobe ipw3945
Per quanto riguarda lo script ipw3945.sh, questo ci servirà per configurare la scheda dopo che abbiamo attivato il modulo ipwraw.
Innanzitutto bisogna renderlo eseguibile
chmod 777 ipw3945.sh
dopo di che lo possiamo mandare in esecuzione
sudo ./ipw3945.sh
una volta avviato dovremo inserire dei parametri che sono, nell’ordine:
- channel
- rate of the capture (il 90% delle volte va inserito il numero 2)
- bssid
Articoli (RSS)
Ciao jackyawa, bella guida, strano che ancora nessuno ha commentato. (L’avevo trovata una simile in Inglese, ma questa per me Italiano è davvero ben fatta)
Volevo darti un consiglio, sulla funzione convert this post to pdf, cliccabile in fondo all’ articolo.
Se proviamo ad utilizzare questa fantastica funzione, ritorna un errore, più precisamente questo: “FPDF error: Alpha channel not supported: http://wiki.airdump.net/w/images/Wifislax-initial-3945.png“.
Mi sembra abbastanza chiaro come errore, cioè l’immagine è compressa utilizzando il canale Alpha! Potresti ripostare un’altra immagine, oppure la solita senza il canale Alpha?
Ancora complimenti, davvero molto interessante.
Ciao
Grazie per i complimenti Andre

non avevo provato la funzione convert to pdf per questo articolo, grazie della segnalazione, provvederò quanto prima! nel frattempo l’immagine la tolgo
A presto! ciao!
Ho risolto!
[...] In questo modo renderemo possibile la disattivazione/attivazione del modulo ipw3945, che può tornarci utile quando effettuiamo lo switch al modulo ipwraw. [...]
ciao jackaway,
perfetta la guida ma mi rimane un dubbio…(sono un neofita perdonami!)..
il channel, rate e bssid da inserire x lo script…sono riferiti all’ AP che vogliamo intervistare vero??
Ciao zocca.
Si, sono relativi all’AP da intervistare
…un’altra domanda! se l’interfaccia della mia scheda è eth1 invece di wifi0??? cosa devo fare??
grazie per l’aiuto!
Anche a me dà interfaccia eth1 anzichè wifi0, funziona tutto ugualmente allo stesso modo
Ai fini dell’installazione del modulo ipwraw non comporta nessuna modifica. E’ quando usi programmi come airodump-ng o aireplay-ng che interviene l’utilizzo dell’interfaccia.
Ogni volta che ti viene indicato, in qualche guida o in altri scripts, di indicare la tua interfaccia, metti eth1 e non wifi0.
Ciao!
non capisco come installare quei file, ho scompattato ora vedi i file. come li installo?
Ciao daniel,
l’installazione va fatta tramite terminale, devi entrare (sempre da terminale) nella cartella ipwraw-nged eseguire, uno per volta, i seguenti comandi (come descritto nella guida)
quindi, puoi proseguire con la guida (partendo dalla modifica del file blacklist).
Non riesco ad installare il driver a causa della shella che non è settata come bash. Come faccio?
ecco l’errore che compare:
If you experience build errors, try
‘make SHELL=/bin/bash’.
make -C /lib/modules/2.6.22-14-generic/build M=/home/francesco/ipwraw-ng modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.22-14-generic’
WARNING: $SHELL not set to bash.
If you experience build errors, try
‘make SHELL=/bin/bash’.
CC [M] /home/francesco/ipwraw-ng/ipwraw.o
/home/francesco/ipwraw-ng/ipwraw.c:43:27: error: net/ieee80211.h: No such file or directory
/home/francesco/ipwraw-ng/ipwraw.c:44:36: error: net/ieee80211_radiotap.h: No such file or directory
In file included from /home/francesco/ipwraw-ng/ipwraw.h:51,
from /home/francesco/ipwraw-ng/ipwraw.c:48:
/home/francesco/ipwraw-ng/iwlwifi_hw.h:525: error: array type has incomplete element type
/home/francesco/ipwraw-ng/iwlwifi_hw.h:847: error: array type has incomplete element type
In file included from /home/francesco/ipwraw-ng/ipwraw.c:48:
/home/francesco/ipwraw-ng/ipwraw.h:531: error: field ‘frame’ has incomplete type
/home/francesco/ipwraw-ng/ipwraw.h:532: error: ‘IEEE80211_FRAME_LEN’ undeclared here (not in a function)
/home/francesco/ipwraw-ng/ipwraw.h:567: error: field ‘rt_hdr’ has incomplete type
/home/francesco/ipwraw-ng/ipwraw.c: In function ‘frame_get_hdrlen’:
/home/francesco/ipwraw-ng/ipwraw.c:52: error: ‘IEEE80211_3ADDR_LEN’ undeclared (first use in this function)
/home/francesco/ipwraw-ng/ipwraw.c:52: error: (Each undeclared identifier is reported only once
/home/francesco/ipwraw-ng/ipwraw.c:52: error: for each function it appears in.)
/home/francesco/ipwraw-ng/ipwraw.c:53: warning: implicit declaration of function ‘WLAN_FC_GET_STYPE’
/home/francesco/ipwraw-ng/ipwraw.c:55: warning: implicit declaration of function ‘WLAN_FC_GET_TYPE’
/home/francesco/ipwraw-ng/ipwraw.c:56: error: ‘IEEE80211_FTYPE_DATA’ undeclared (first use in this function)
/home/francesco/ipwraw-ng/ipwraw.c:57: error: ‘IEEE80211_FCTL_FROMDS’ undeclared (first use in this function)
/home/francesco/ipwraw-ng/ipwraw.c:57: error: ‘IEEE80211_FCTL_TODS’ undeclared (first use in this function)
Ciao Francesco,
sostituisci i comandi
con
così dovrebbe andare
mi da sempre errore:
make -C /lib/modules/2.6.22-14-generic/build M=/home/francesco/ipwraw-ng modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.22-14-generic’
CC [M] /home/francesco/ipwraw-ng/ipwraw.o
/home/francesco/ipwraw-ng/ipwraw.c:43:27: error: net/ieee80211.h: No such file or directory
/home/francesco/ipwraw-ng/ipwraw.c:44:36: error: net/ieee80211_radiotap.h: No such file or directory
In file included from /home/francesco/ipwraw-ng/ipwraw.h:51,
from /home/francesco/ipwraw-ng/ipwraw.c:48:
/home/francesco/ipwraw-ng/iwlwifi_hw.h:525: error: array type has incomplete element type
/home/francesco/ipwraw-ng/iwlwifi_hw.h:847: error: array type has incomplete element type
In file included from /home/francesco/ipwraw-ng/ipwraw.c:48:
…………….
/home/francesco/ipwraw-ng/ipwraw.c: In function ‘raw_rx’:
/home/francesco/ipwraw-ng/ipwraw.c:6396: error: dereferencing pointer to incompl
Controlla di avere gli headers e i sorgenti del kernel installati
e soprattutto che in /usr/src/linux-headers-2.6.22-14-generic/include/net vi siano i seguenti files
se non ci sono incollali dalla cartella /usr/src/linux-2.6.22.14-14/include/net
Visto che io utilizzo ubuntu 7.10 e i driver per la scheda wireless sono già installati c’è bisogno di installare tutti quei driver come ipw3945, ieee800211 ecc. per far funzionare aircrack?
Gli ipw3945 sono i driver che sono installati di default in Ubuntu 7.10
Con questa guida si va ad installare i driver ipwraw, senza togliere gli ipw3945, per abilitare il packet injection nella scheda wireless.
Per utilizzare aircrack non hai bisogno, per forza, di questi driver ipwraw. Potrai usare aircrack anche con gli ipw3945 ma non potrai fare packet injection.
Purtroppo non trovo i file ieee80211.h e ieee80211_radiotap.h in nessuna delle due cartelle. Come posso fare?
Prova a ricercare i due file in tutta la cartella /usr/src , se non dovessi trovarli, ma non credo, te li posso passare io.
Hai installato header e sorgenti del kernel, vero?
Ho insrito i due file nella cartella che mi hai detto ma purtroppo quando cerco di installare ipwraw da sempre gli stessi errori
Li hai messi in /usr/src/linux-headers-2.6.22-14-generic/include/net?
Posta l’output dell’errore.
Ho inserito i due file nella cartella che mi hai detto: /usr/src/linux-headers-2.6.22-14-generic/include/net.
Ma quando provo a installare ipwraw da questo errore:
francesco@francesco-laptop:~/ipwraw-ng$ make SHELL=/bin/bash
make -C /lib/modules/2.6.22-14-generic/build M=/home/francesco/ipwraw-ng modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.22-14-generic’
CC [M] /home/francesco/ipwraw-ng/ipwraw.o
In file included from /home/francesco/ipwraw-ng/ipwraw.c:48:
/home/francesco/ipwraw-ng/ipwraw.h:532: error: ‘IEEE80211_FRAME_LEN’ undeclared here (not in a function)
/home/francesco/ipwraw-ng/ipwraw.c: In function ‘frame_get_hdrlen’:
/home/francesco/ipwraw-ng/ipwraw.c:52: error: ‘IEEE80211_3ADDR_LEN’ undeclared (first use in this function)
/home/francesco/ipwraw-ng/ipwraw.c:52: error: (Each undeclared identifier is reported only once
/home/francesco/ipwraw-ng/ipwraw.c:52: error: for each function it appears in.)
/home/francesco/ipwraw-ng/ipwraw.c:53: warning: implicit declaration of function ‘WLAN_FC_GET_STYPE’
/home/francesco/ipwraw-ng/ipwraw.c:55: warning: implicit declaration of function ‘WLAN_FC_GET_TYPE’
……………
/home/francesco/ipwraw-ng/ipwraw.c:8870: error: ‘IEEE80211_52GHZ_BAND’ undeclared (first use in this function)
/home/francesco/ipwraw-ng/ipwraw.c:8872: error: ‘IEEE80211_24GHZ_BAND’ undeclared (first use in this function)
/home/francesco/ipwraw-ng/ipwraw.c:8902: error: ‘ARPHRD_IEEE80211’ undeclared (first use in this function)
make[2]: *** [/home/francesco/ipwraw-ng/ipwraw.o] Error 1
make[1]: *** [_module_/home/francesco/ipwraw-ng] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.22-14-generic’
make: *** [modules] Error 2
Dagli errori del make, il problema è che durante la compilazione non riesce a trovare delle variabili, come IEEE80211_3ADDR_LEN, che sono definite in ieee80211.h
Mi vengono in mente due possibili soluzioni:
1. controlla che nel file ipwraw.c presente nella cartella ipwraw-ng ci siano le seguenti righe (dal rigo 43)
2. Copia i due files ieee80211.h e ieee80211_radiotap.h anche in /usr/src/linux-headers-2.6.22-14/include/net oltre che in /usr/src/linux-headers-2.6.22-14-generic/include/net
Ho seguito i tuoi suggerimenti ma nacora da gli stessi errori quando cerco di installarlo
L’ultima cosa che mi viene in mente: entra col terminale nella cartella ipwraw-ng e dai il comando
quindi prova a compilare.
ho dato come comando make clean SHELL=/bin/bash e mi viene fuori questo che vuol dire?
francesco@francesco-laptop:~/ipwraw-ng$ make clean SHELL=/bin/bash
make[1]: Entering directory `/home/francesco/ipwraw-ng/util’
rm -rf *{.orig,.rej,.o,~} sim_rx wifi_tx
make[1]: Leaving directory `/home/francesco/ipwraw-ng/util’
rm -f *.{mod.c,mod,o,ko,rej,orig} .*.{stamp,flags,cmd} *symvers .*.o.d .lst *.lst *~
rm -rf /home/francesco/ipwraw-ng/tmp /home/francesco/ipwraw-ng/.tmp_versions
for file in *.{c,h}; do \
sed -i -e “s:\ *$::g” -e “s:\t*$::g” $file; \
done
Il make clean serve a rimuovere i files che si creano durante la compilazione, tipo i file oggetto.
dopo, hai dato make SHELL=/bin/bash e sudo make install SHELL=/bin/bash ?
Si l’ho fatto ma mi da sempre lo stesso errore
Più di quello che t’ho già detto non so dirti per cercare di risolvere il problema….mi dispiace…
ciao.
non sono assolutamente esperto, ma ho tanta voglia di imparare…certo che dovreste avere tanta pazienza per aiutarmi???!!!
posso pedissiquamente seguire le istruzioni, ma dove?
quando parli di entrare nel terminale per scrivere intendi nel dos? no?
bisogna aprire ognuno dei file indicati e modificarlo con wordpad?
mi fai capire, pleace
ah,visto che ci sono:
io uso un cd avviabile wifislax 3, si riferisce a questo sistema operativo?
come posso modificarlo se sta sul cd?
ciao e ancora grazie
I driver di cui si parla qui sono esclusivamente per sistemi Linux, non c’è nè wordpad nè dos. Il terminale, in Ubuntu, lo trovi nel menù accessori.
Ciao ho un problema nell’ultimo passaggio della guida, dopo aver dato il comando sudo ./ipw3945.sh e inserito i parametri richiesti mi esce quest’errore ( la mia scheda wireless si trova nell’unità eth1):
Por favor introduce el canal para la wifi0
11
Indique el rate de captura
2
Indique el bssid para el asociado, separado por puntos (Ej: 00:11:22:33:44:55)
00:03:6F:91:26:64
wifi0: ERROR while getting interface flags: No such device
chmod: cannot access `/sys/class/net/wifi0/device/rate’: No such file or directory
./ipw3945.sh: line 20: /sys/class/net/wifi0/device/rate: No such file or directory
./ipw3945.sh: line 21: /sys/class/net/wifi0/device/channel: No such file or directory
./ipw3945.sh: line 22: /sys/class/net/wifi0/device/bssid: No such file or directory
wifi0: ERROR while getting interface flags: No such device
*************************************************
Si se le ha comunicado algun error en el apartado anterior, pues repita el proceso
Si se repite el error comuniquesnolo en el foro de seguridadwireless.net
*************************************************
ok capito.
ma scusate l’ignoranza insistente.
io ho provato prorio ieri con wifiway, formato cdlive e la scheda suddetta fa gia inijection, e va in monitor mode, cosa che non riuscivo a fare con wifislax winaircrack, etc.
quindi: a che servono questi rattoppi?
ciao, grazie e …scusate.
@ francesco
apri il file ipw3945.sh e sostituisci questo
con questo
In pratica devi si sostituisce wifi0 con eth1
@ cironte
Questi “rattoppi“, come li chiami tu, servono a fare quello che fai con la wifiway in qualsiasi altra distro. Tra l’altro la wifiway utilizza proprio lo stesso rattoppo, se ricordo bene.
Ciao
quindi questi stessi comandi vanno bene per il nio wiifiway 0.8?
rattoppo voleva solo essere la parola italiana al posto di parch
un’altra cosa
visto che uso un cdlive di wifi come posso salvare le modifiche che faccio?
se voglio installarlo su una pennetta( PARDON: PEN DRIVE) mi basta fare il copia incolla del file?
ciao e grazie
ciao a tutti ottima guida!
una precisazione: ogni volta che cambiamo i nostri driver (con il comando modprob) sarebbe cosa “buona e giusta” (effetto pasqua) disattivare la nostra scheda wireless:
1) sudo ifconfig eth1 (o wifi a seconda) down
2) cambiare i driver con modprob
3) sudo ifconfig eth1 up
e ora una domanda:
sai mica dirmi perchè continua a crasharmi ubuntu 7.10 64b centrino? raccolgo all’incirca 30000 pacchetti e poi crasha
ctrl+alt+canc inutile
ctrl+alt+F1(2-3-4….) inutili
completamente impallato!
ciao ciao boyz
ah dimenticavo: nn uso lo script che ci hai linkato per “intervistare” il mio router ma uso il mitico aireplay…
nn penso però che la colpa sia sua in quanto l’iniezione funziona, è dopo che scoppia….
ciao e grazie
@ cironte
la wifyway dovrebbe avere al suo interno degli script, ma non so dirti con esattezza in che directory si trovano e che nome hanno, comunque dovrebbe esserci un forum o delle faq, puoi cercare su google. Le modifiche le puoi salvare, ma resteranno memorizzate solo per la sessione corrente, al successivo riavvio sarà tutto ripristinato all’originale configurazione.
@ wdr
Non so dirti il perchè del crash, io ho la 32bit e non ho di questi problemi…e non conosco nessuno che abbia provato su una 64bit….:(
Ciao
grazie lo stesso jacky
se senti qualcosa posta che io ripasso!!
ciao ciao
ciao a tutti ancora…
superato lo scoglio crash, ora ho un piccolo problema nella raccolta pacchetti con airodump, dopo poche migliaia di pacchetti raccolti comincio a perderne uno sproposito…
questione di driver o di lontananza dall’AP?
se a qualcuno può servire ho scritto queste 2 righe stanco di riscrivere continuamente le stesse cose…
#!/bin/bash
ifconfig eth1 down
modprobe -r ipw3945
modprobe ipwraw
ifconfig eth1 up
exit
scrivetelo con nano o gedit o vi nn importa ricordate di farlo partire da root con ./nomescript
allo stesso modo si può fare il contrario per rimontare i nostri ipw3945
evitando di scrivere ogni volta noiosi comandi
ciaoz
La lontananza dall’AP può essere la causa del tuo problema.
Ciao
immaginavo….
[...] molti vi sarete accorti che il modulo ipwraw presente in questa guida non è compatibile coi kernel a partire dal [...]
Quando provo a compilare ottengo questo errore qualche consiglio?
giuseppe@giuseppe-laptop:~/Desktop/driver packet injection/ipwraw-ng$ make SHELL=/bin/bash
make -C /lib/modules/2.6.24-19-generic/build M=/home/giuseppe/Desktop/driver packet injection/ipwraw-ng modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.24-19-generic'
make[1]: *** No rule to make target `packet'. Stop.
make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-19-generic'
make: *** [modules] Error 2
Hai installato gli headers del kernel?
sudo apt-get install linux-headers-$(uname -r)
Si, sono già installati.
Ho risolto spostando la cartella da compilare in /usr ciaps e grazie
Ottimo! Ciao!!!
Ciao jackyawa e grazie 1000 per la tua guida. Premetto che sono un neofita di Linux; ho seguito alla lettera i passaggi da te descritti, credo con esito positivo, ma quando arrivo al punto di disattivare temporaneamente i drive originali attraverso il comando sudo modprobe -r ipw3945 mi appare l’errore FATAL: Module ipw3945 not found. Dipende forse dal fatto che ho installato Ubuntu 8.04 da Microsoft Windows attraverso l’applicazione Wubi?
Grazie
Ciao
Ciao jackyawa, tante grazie per le tue dritte. Io ho la medesima configurazione di coldplay72 ed anche lo stesso errore. In attesa di eventuali chiarimenti vorrei porti due quesiti:
1 quando si effettua la procedura da te descritta la scheda wireless deve essere accesa o spenta?
2 occorre riavviare il PC in qualche punto della procedura?
Grazie
A presto
Ciao Coldplay72
ma semplicemente dal fatto che a partire dal kernel 2.6.24, e quindi da Ubuntu 8.04, i driver ipw3945 sono stati sostituiti dagli iwl3945.
il problema che hai descritto non dipende da Wubi, tranquillo!
Devi disattivare gli iwl3945:
edit: Ciao Imma, non mi ero accorto del tuo commento
anche per te vale quanto ho scritto per Coldplay72.
Per le altre due domande:
1. La scheda va tenuta accesa
2. Non occorre riavviare il pc
Ciao Jacky, innanzitutto ti ringrazio per lo splendido blog, ultimamente lo seguo abbastanza, dopodiché passo alle domande (in verità solo una).
Ho eseguito tutti i passi necessari, ma al comando sudo modprobe -r iwl3945, il pc (un notebook toshiba satellite a300) va in crash (il caps-lock led lampeggia) ho provato ad attendere qualche minuto ma il pc non risponde.
Ho dato sudo ifconfig wlan0 down per assicurarmi che qualsiasi connessione fosse interrotta (che non desse fastidio insomma) e ritentato ma con lo stesso risultato, il pc blocca completamente.