Newsgroup: it.comp.macintosh
Titolo: Sapere chi si connette via wireless

La mia domanda č simile a quella di un altro thread in corso: uso il mio 
iBook, connesso a internet mediante un router, per condividere la 
wireless a mio cugino. In pratica mio cugino passa via wireless al mio 
iBook, e da questi va in internet via router.
La mia domanda č: come faccio a sapere se lui č connesso, o in generale 
chi č connesso alla mia wireless?

 chi č connesso alla mia wireless?
Uh... potresti vedere se riesci a fare funzionare il logging e/o
ispezionare il DHCP. O ancora vedere se riesci a lavorare di spoof.
-- 
Odio gli indifferenti, perche` mi da noia il loro 
piagnisteo di eterni innocenti. [...]
Sono Partigiano. Percio` odio chi non parteggia.
Odio gli indifferenti. (Gramsci)

 generale chi è connesso alla mia wireless?
"ntop is a network traffic probe that shows the network usage, similar
to what the popular top Unix command does [...]"
http://www.ntop.org/
-- 
PPC vs. Intel: Top 500 shows who's right
http://blogs.zdnet.com/open-source/?p=348


| |._/|_|\__/\__/\__/ | *Non e' bello cio' che e' bello,
|        /_/ /_/      |  figurarsi cio' che e' brutto.


La mia auto-risposta: leggere /var/log/system.log, e controllare 
messaggi su bootpd.
Domani mi metto lě ed in qualche riga di python tiro fuori qualcosina 
che mi manda le notifiche via growl (bellissimo!). Poi posterň. Grazie a 
tutti delle risposte, cmq.

 sono elencati gli indirizzi dati alle macchine collegate.
Grazie, ma in realtŕ il router non lo sa nemmeno, in quanto come dicevo 
i due portatili si connettono tra loro via wireless, ed il mio ibook č 
connesso via ethernet al router.


Ecco qua il mio script. Č decisamente grezzo, ma (sembra) funzionare 
bene. Notifica, via growl, sia chi si connette alla wireless, sia gli 
utilizzi di sudo. Bisogna installare sia growl che growlnotify (incluso 
nell'immagine disco di growl) per farlo funzionare.
#!/usr/bin/env python
import os
import thread
import threading
import sys
f = open( "/var/log/system.log", "r" )
try:
     while True:
         line = f.readline()
         if line.find( "sudo" ) != -1:
             time = line[ 7 : 15 ]
             command = line[ line.find( "COMMAND=" ) + 8 : ]
             os.system( "/usr/local/bin/growlnotify "+
		    "-t \"%s Sudo was used\" " % time +
                     "-m \"Command: %s\" " % command +
                     "-a \"Terminal\"" )
         if ( line.find( "bootpd" ) != -1 ) and \
		( line.find( "ACK" ) != -1 ):
             time = line[ 7 : 15 ]
             pieces = line[ line.find( "ACK sent " ) + 9 : ].split()
             name = pieces[ 0 ]
             ip = pieces[ 1 ]
             os.system( "/usr/local/bin/growlnotify " +
		    "-t \"%s User connected via wireless\" " % time +
                     "-m \"%s connected as %s\" " % ( ip, name ) +
                     "-a \"AirPort Admin Utility\"" )
         if not line:
             # No more thing to read, wait a while
             t = threading.Event()
             t.wait( 15 )
except KeyboardInterrupt:
     sys.exit( 0 )
except:
     raise

 connesso via ethernet al router.
Ah, vuoi sapere chi si connette al tuo iBook, non alla rete. Allora,
giustamente, i log son li' per questo.
