Kismet Wireless

Kismet Forums

 

Posted by:ichneumon
Subject:Python class for kismet client protocol
Date:03:58:43 01/03/2009

> > Hi folks,
> > just a quick one; I'm working on a python class to access Kismet through the client/server protocol. It's coming together nicely, although definitely still in alpha stage at the moment. If anyone is interested, let me know here, and I'll get round to posting it somewhere. The eventual aim is a gui client for Nokia Internet Tablets (Maemo), although that's still a fair way off.
>
> Awesome.
>
> I'd suggest checking fields for \001 buffering automatically (the generic parser in newcore does this now) and using the capability protocol to dynamically map the field names, if you're not already.
>
> Should be structured enough to make a python class that handles it well.
>
> The other trick you can steal from newcore is to register callbacks for protocols; Newcore maintains internally a list of fields per callback and aggregates them into one protocol request, then feed just the requested fields to each callback.
>
> -m

Heh - already using the initial PROTOCOLS definition and capabilities query to parse out the valid commands. I've currently got it set up as a single callback that returns the protocol and a dict that keys each value with its respectively enabled capabilities; for now, I'll leave the protocol separation outside the class. One thing I'd like to check: it seems to me that the fields are space-seperated, unless the field CAN contain a space (eg, ssid in netword, username in card), in which case, the value is wrapped in a pair \x01 bytes. If this makes sense, am I correct? Also, I've got a very quick and basic pygtk gui running tonight - interested?


Reply to this message