Monday, November 2nd, 2009
La risposta alla domanda nel titolo potrebbe essere risolta in molti modi, ma oggi vedremo una soluzione per un apparato specifico cioè una fonera (quindi hardware atheros) e openwrt come sistema operativo. In particolare mi sono sempre chiesto come sapere i client wifi che sono connessi al mio access point senza naturalmente passare per l’elenco degli indirizzi rilasciati dal server dhcp. Ho scoperto grazie a Claudio che la soluzione è veramente semplice, infatti madwifi ci consente di scoprirlo interrogando:
/proc/net/madwifi/ath0/associated_sta
quindi la soluzione per avere l’elenco delle Station connesse è eseguire questo domando dalla shell della fonera:
cat /proc/net/madwifi/ath0/associated_sta
e a video comparirà l’elenco dei client wifi associati alla vostra fonera con l’rssi.

Posted in Fonera, Informatica | 1 Comment »
Friday, October 30th, 2009
Titolo un pò strano ma è proprio quello che ci è capitato ieri al giovedì nerd a me Lorenzo e Stefano quando stavamo per darci vinti e dichiarare “brickata” una bullet 2 della ubiquity. Tutto inizia con Stefano che porta la sua Bullet dicendo che ormai non ci può fare più niente perchè dopo una configurazione probabilmente errata delle interfacce ha perso la shell. Seguendo l’help sul sito della ubiquity testiamo la classica procedura per mettere il dispositivo in modalità di flash che nemmeno a dirlo non funziona
Analizzando il comportamento dei led però intuiamo che il boot del sistema operativo viene effettuato e quindi come ultima risorsa prendiamo wireshark e ci mettiamo a fare sniffing. Quello che viene a prima vista fuori sembra inutile ma spulciando bene troviamo una vera e propria richiesta di soccorso su un pacchetto udp mandato dall’indirizzo ip 192.168.1.1 che si presenta così:
0000 de ad 50 72 65 73 73 20 72 65 73 65 74 20 6e 6f ..Press reset no
0010 77 2c 20 74 6f 20 65 6e 74 65 72 20 46 61 69 6c w, to enter Fail
0020 73 61 66 65 21 00 00 00 00 00 00 00 00 00 00 00 safe!………..
Superato lo stupore iniziale cominciamo a fare ricerche sul web, capendo che il messaggio proviene da openwrt che avendo capito di essere praticamente brickato ci chiede gentilmente di premere il tasto reset per entrare in failsafe mode. Premuto il tasto reset per 2 secondi a tempo con non poca difficoltà riusciamo ad ottenere una shell sulla bullet “brickata” e una volta montata la partizione jffs che nel nostro caso era su /dev/mtd3 ripristiniamo la configurazione di default recuperando la Bullet. Per maggiori informazioni su cosa è il failsafe mode in openwrt andate qui. E ora guardiamo avanti al prossimo dispositivo da brickare

Posted in Informatica | 4 Comments »
Friday, June 20th, 2008
2 giorni fa avendo tempo mi sono messo a provare un po Batman questo relativamente nuovo protocollo che si propone di migliorare il gia esistente Olsr, devo dire che i test hanno dati risultati davvero positivi e la configurazione è davvero semplice anche se la documentazione è davvero poca. Innanzitutto lavoreremo con Openwrt Kamikaze 7.09 io me lo sono gia ricompilato da svn quindi se volete le immagini sono queste: openwrt-atheros-2.6-root.squashfs e openwrt-atheros-2.6-vmlinux.lzma una volta flashata la nostra fonera con ap51 flash abbiamo la versione base di Kamikaze che risponderà sull’ip 192.168.1.1. Ora iniziamo la configurazione per batman e l’interfaccia web: diamo
vi /etc/ipkg.conf
e aggiungiamo la riga:
src X-Wrt http://downloads.x-wrt.org/xwrt/kamikaze/7.09/atheros-2.6/packages/
il file finale dovrà apparire così:
src release http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/packages src packages http://downloads.openwrt.org/kamikaze/packages/mips src X-Wrt http://downloads.x-wrt.org/xwrt/kamikaze/7.09/atheros-2.6/packages/ dest root / dest ram /tmp
poi diamo:
ipkg update
e dopodiche installiamo la GUI:
ipkg install webif
e ora batman:
ipkg install http://www.ieie.it/download/fonera/batmand_0.3-current_mips-kk-elf-32-msb-dynamic.ipk
passiamo ora alla sua configurazione(la facciamo attraverso uno script che viene lanciato ):
vi /etc/batman_start.sh
che dovrà apparire così:
#/bin/sh
batmand -s ip_server_visual -a gw_internet/24 -g 9 ath0
se il nodo è un nodo che è direttamente collegato ad internet dove: ip_server_visual è l’ip della macchina che ha attivo(lo vedremo dopo) il server che visualizza la topologia della rete gw_internet è l’ip che usa la fonera per andare in internet. se il nodo non ha connettività dovrà essere così:
#/bin/sh batmand -s ip_server_visual -r 3 -p gw_preferito ath0
dove gw_preferito è l’ip della fonera che ha connettività configurazione rete della fonera: Io ho optato per separare la rete wifi(batman) da un evenutale rete lan e ho agito in questo modo: /etc/config/network
config interface loopback
option ifname lo
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0
config interface lan
option ifname eth0
option type bridge
option proto static
option ipaddr 192.168.3.140
option netmask 255.255.255.0
option gateway 192.168.3.1
option dns 192.168.3.1
#### Wi-Fi LAN configuration
config interface wifi
option ifname “ath0″
option proto static
option ipaddr 192.168.9.1
option netmask 255.255.255.0
Naturalmente dovrete cambiare i parametri della lan se il nodo che state configurando è collegato a internet e mettere i vostri, per quanto riguardo la wifi le impostazioni devono essere le stesse per tutti i nodi tranne naturalmente cambiare per ogni nodo “option ipaddr” che deve essere diverso per tutti e la configurazione wifi:
/etc/config/wireless
config wifi-device wifi0
option type atheros
option channel 1
option mode ’11bg’
option diversity ’0′
option txantenna ’1′
option rxantenna ’1′
option disabled ’0′ config wifi-iface
option device wifi0
option network ‘wifi’
option mode ‘adhoc’
option ssid ‘batman’
option encryption none
option hidden ’0′
option isolate ’0′
option txpower ’18′
option bgscan ’0′
option wds ’0′
La configurazione di /etc/config/wireless deve essere uguale per tutti i nodi. Ok la configurazione delle fonere è finita, lanciando su ognuna /etc/batman_start.sh dopo averlo reso eseguibile con chmod +x /etc/batman_start.sh le fonere gia si dovrebbero vedere. Ora passiamo ai client (computer) che si devono connettere a internet o comunque usare la rete BATMAN: Perchè un computer possa entrare nella rete BATMAN deve poter parlare il protocollo BATMAN e quindi ci deve essere il demone BATMAN attivo. Io ho usato una UBUNTU per le prove ma qualsiasi distro linux va bene, scarichiamo il file batman-0.3.tar.gz estraiamo l’archivio dove ci pare e poi diamo da terminale dentro la cartello dove abbiamo estratto batman “make”, alla fine della compilazione ci ritroveremo nella cartella con il demone batmand, a questo punto dopo aver settato la nostra scheda wifi con:
sudo iwconfig eth1 essid batman mode ad-hoc sudo ifconfig eth1 192.168.9.X
possiamo lanciare batmand scegliendo sempre una delle due modalità (client o gateway):
./batmand -s ip_server_visual -a gw_internet/24 -g 9 eth1
se il nodo è un nodo che è direttamente collegato ad internet dove: ip_server_visual è l’ip della macchina che ha attivo(lo vedremo dopo) il server che visualizza la topologia della rete gw_internet è l’ip che usa la fonera per andare in internet. se il nodo non ha connettività dovrà essere così:
./batmand -s ip_server_visual -r 3 -p gw_preferito eth1
dove gw_preferito è l’ip della fonera che ha connettività A questo punto dovremmo gia essere in grado di navigare o comunque di vedere gli altri nodi della rete con un ping, se non riusciamo a navigare proviamo ad aggiungere la rotta di default con:
sudo route add default gw gw_internet
e il tutto dovrebbe funzionare. Installiamo il visualization server scaricando vis-0.3.tar.gz scompattandolo in una cartella a piacere e dando
make
lanciamolo con
./vis interfaccia
dove al posto di interfaccia dobbiamo mettere l’interfaccia fisica su cui deve rimanere in ascolto (ex eth1) Ora installiamo s3d per la visualizzazione 3d scaricandolo da svn
:
svn checkout svn://svn.berlios.de/s3d/trunk
e seguiamo il readme per compilarlo, una volta compilato lanciamo il server:
./s3d
e poi lanciamoda dentro apps
./meshs3d -H vis_server
dove vis_server è l’indirizzo ip del server vis che abbiamo lanciato prima. E ora dovremmo visualizzare la topologia in 3d.
Il risultato lo potete osservare in galleria
Posted in Fonera | No Comments »