(Note that Kismetaclient does not work with the Newcore version of Kismet, only with Oldcore, now deprecated. One day, I might get around to updating it.)


Kismetaclient is an incredibly simple, dumb and amazingly stupid client written in Perl, for kismet, the wireless auditing tool. Basically, it just writes everything it receives from Kismet to stdout, allowing it to be redirected to a file. It may have several uses:

·        The status area at the bottom of the Kismet screen is only 4 lines deep and there is no way to redirect it to a file. Kismetaclient makes that possible.

·        Strings found in intercepted packets are not displayed by Kismet. Kismetaclient will dump them for you.

·        Using Perl or any other tools you fancy, you can take the output via a pipe or from a saved file and filter or analyse it as you like.

·        Being written in Perl, you can very easily extend it for the above purposes.

·        To lock Kismet to a particular channel, you have to hit L at just the right moment. Often this doesn’t work. Kismetaclient provides a command line interface to do this, which you could wrap into an icon or a GUI if you wanted to.

·        The Kismet protocol specification is only an outline, and working it out from the Kismet source is hard work. If you’re writing your own Kismet client, Kismetaclient will give you a leg up.


In addition, I’ve written a Kismet Protocol Tutorial, useful if you’re writing your own kismet client or want to hack mine.


./ <opts> [<params>]


The following <opts> are supported:



Output Alerts


Output Status messages (“Saving data files” messages are discarded)


Output Strings


Prefix all output messages with a timestamp


<params> are <c> [<n>]. Lock source n (default: 0) to channel c and exit


<params> are [<n>]. Allow source n (default: 0) to channel-hop and exit


Output debug info to stderr


Specify server


Specify server port


Display version and exit

Default <opts> are -asg -S localhost -P 2501.


Output Strings only, with timestamps. Server is localhost, output written to file strings.txt:


./ -gt >strings.txt


Set the first (or only) source on server drone to lock to channel 6, and exit. Server port number is 3501. Output debugging info.


./ -lvS drone -P3501 6


Kismetaclient uses code fragments from a Perl 4 pop3 client by Steffen Ullrich.


You can get the code from here (save as Due to its origins, it also needs (file is socket.txt - save as which you should download to the same place.

Email me at

Return to Blueskylark