Using Kismet under FreeBSD

Kismet sounds to be a nice tool for Wi-Fi diagnostics. Port installation can be easily done via:

cd /usr/ports/net-mgmt/kismet && make install clean

Within newly installed /usr/local/etc/kismet.conf, one needs to enable particular packet sources, Wi-Fi channels and a user, to which kismet(1) with setuid(2):

Depending on kismet version, there are two different packet sources formats. Users of port version older than 2010.07.r1,1 (port tree copy older than 2010-10-03) have Kismet-Old, newer port version use Kismet-Newcore.

Kismet-Newcore

Kismet-Newcore (currently the base Kismet code) use ncsource= variable and this syntax:

Kismet-Newcore have setuid-root capture helper binary kismet_capture which may be executed by users in the kismet group. Add your user to kismet group before you run kismet. Option suiduser was removed from configuration file in Kismet-Newcore.

Kismet-Old

Kismet-Old release (Kismet-Old2009-05-R1) use source= variable, with different format:

In order to make kismet text-based CLI to work, one needs to enable DBUS. It should be already installed in your system. Enabling means inserting particular line into your /etc/rc.conffile:

dbus_enable="yes"

Creating monitor VAP

In order to start working with wlan0 interface which we have mentioned as a available packet source, we need to create it. This step is different from creating WLAN interface in default mode -- we need to create VAP (Virtual Access Point) interface working in "monitor mode":

ifconfig wlan create wlandev bwi0 wlanmode monitor

for Broadcom-based card, or:

ifconfig wlan create wlandev ath0 wlanmode monitor

for Atheros-based card.

This is basically the end of the setup procedure. You can start Kismet right now.