network/kismet: Added (NIDS tool)

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
Audrius Kažukauskas 2010-06-29 20:35:12 -05:00 committed by Robby Workman
parent b8b1b9cccd
commit 66ad06bd2f
5 changed files with 165 additions and 0 deletions

14
network/kismet/README Normal file
View File

@ -0,0 +1,14 @@
Kismet is an 802.11 layer2 wireless network detector, sniffer, and intrusion
detection system. Kismet will work with any wireless card which supports raw
monitoring (rfmon) mode, and (with appropriate hardware) can sniff 802.11b,
802.11a, 802.11g, and 802.11n traffic. Kismet also supports plugins which
allow sniffing other media such as DECT.
Kismet identifies networks by passively collecting packets and detecting
standard named networks, detecting (and given time, decloaking) hidden
networks, and inferring the presence of nonbeaconing networks via data traffic.
This script requires a 'kismet' group to exist before running. The recommended
GID is 234. You can create it like this: groupadd -g 234 kismet
After installation, add user to kismet group and re-login.

12
network/kismet/doinst.sh Normal file
View File

@ -0,0 +1,12 @@
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}

View File

@ -0,0 +1,110 @@
#!/bin/sh
# Slackware build script for kismet
# Written by Audrius Kažukauskas <audrius@neutrino.lt>
# Modified by Robby Workman <rworkman@slackbuilds.org>
# Modified by Antonio Hernández Blas <hba.nihilismus@gmail.com>
PRGNAM=kismet
VERSION=${VERSION:-2010_01_R1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
SRCVERSION=$(echo $VERSION | tr _ -)
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
# Bail if group isn't valid on your system.
# gid=234 is suggested to avoid conflicts with other SBo packages,
# but it's your call: http://slackbuilds.org/uid_gid.txt
if ! grep -q "^kismet:" /etc/group; then
printf "\n\tYou must have a kismet group to run this script.\n"
printf "\tSomething like this should suffice for most systems:\n"
printf "\t# groupadd -g 234 kismet\n\n"
exit 1
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$SRCVERSION.tar.gz
mv $PRGNAM-$SRCVERSION $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
sed -i "s|/lib/kismet|/lib$LIBDIRSUFFIX/kismet|" plugin-*/Makefile
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc/kismet \
--localstatedir=/var \
--mandir=/usr/man \
--build=$ARCH-slackware-linux
make
make plugins
make suidinstall MANGRP=root DESTDIR=$PKG
make plugins-install MANGRP=root DESTDIR=$PKG
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a CHANGELOG* GPL README* *.txt docs/ patches/ $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
# Add .new extension to all configuration files.
for file in $(find $PKG/etc -type f)
do
mv $file $file.new
done
# Add *.new files into doinst.sh
for file in $(find $PKG/etc -type f -name "*.new")
do
echo config $(echo $file | sed "s:$PKG/::") >> $PKG/install/doinst.sh
done
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View File

@ -0,0 +1,10 @@
PRGNAM="kismet"
VERSION="2010_01_R1"
HOMEPAGE="http://kismetwireless.net/"
DOWNLOAD="http://kismetwireless.net/code/kismet-2010-01-R1.tar.gz"
MD5SUM="a6d6edcf65d5bb2cb5de6472bcc16f19"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Audrius Kažukauskas"
EMAIL="audrius@neutrino.lt"
APPROVED="rworkman"

19
network/kismet/slack-desc Normal file
View File

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
kismet: Kismet (wireless network detector)
kismet:
kismet: Kismet is an 802.11 layer2 wireless network detector, sniffer, and
kismet: intrusion detection system. Kismet will work with any wireless card
kismet: which supports raw monitoring (rfmon) mode, and can sniff 802.11b,
kismet: 802.11a, 802.11g and 802.11n traffic. Kismet also supports plugins
kismet: which allow sniffing other media such as DECT.
kismet:
kismet: Homepage: http://kismetwireless.net/
kismet:
kismet: