Friday, January 20, 2012

Kismet on Android

So it's super unstable, but Kismet can run on android now:



Requires Android 4.x for USB host, does NOT require root.

Packets are captured with userspace rtl8187 driver written in java, sent to a kismet-drone work-alike also written in java, which allows an unmodified kismet_server to read them.

Output is kluged into a textview to at least be able to see what's going on.

Currently the code doesn't channel hop, though that should be possible without too much trouble.  The process.exec thread doesn't kill off kismet_server when the background service ends, there's usb init timing problems, etc, but it's a major step forwards.

Ultimately, kismet_server will be hidden completely and the Java UI will tap the kismet client protocol for a native display.

Still... progress!  Code and test apk to come in the future.

2 comments:

  1. Also re: a semi-common question, "what about the built-in nic"...

    The goal was to get Kismet running on unmodified phones, so that wasn't the focus.

    If you have a rooted phone however, and can get a mac80211 driver loaded, kismet ought to run just fine - infact it should even auto-detect the mac80211 driver and go.

    Right now the port isn't linked with the native capture sources or netlink libs, but those are probably all thats needed to have it work with the built-in.

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete