diff options
Diffstat (limited to 'community/arpwatch')
-rw-r--r-- | community/arpwatch/LICENSE | 18 | ||||
-rw-r--r-- | community/arpwatch/PKGBUILD | 52 | ||||
-rw-r--r-- | community/arpwatch/arpwatch.service | 11 | ||||
-rw-r--r-- | community/arpwatch/ethercodes.dat.xz | bin | 0 -> 166132 bytes | |||
-rwxr-xr-x | community/arpwatch/gen_ethercode.sh | 32 |
5 files changed, 113 insertions, 0 deletions
diff --git a/community/arpwatch/LICENSE b/community/arpwatch/LICENSE new file mode 100644 index 000000000..be49954d9 --- /dev/null +++ b/community/arpwatch/LICENSE @@ -0,0 +1,18 @@ +Copyright (c) 1992, 1993, 1994, 1995, 1996, 1998, 2000 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that: (1) source code distributions +retain the above copyright notice and this paragraph in its entirety, (2) +distributions including binary code include the above copyright notice and +this paragraph in its entirety in the documentation or other materials +provided with the distribution, and (3) all advertising materials mentioning +features or use of this software display the following acknowledgement: +``This product includes software developed by the University of California, +Lawrence Berkeley Laboratory and its contributors.'' Neither the name of +the University nor the names of its contributors may be used to endorse +or promote products derived from this software without specific prior +written permission. +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. diff --git a/community/arpwatch/PKGBUILD b/community/arpwatch/PKGBUILD new file mode 100644 index 000000000..526fbc6f2 --- /dev/null +++ b/community/arpwatch/PKGBUILD @@ -0,0 +1,52 @@ +# $Id: PKGBUILD 94834 2013-07-31 01:12:04Z seblu $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Sébastien Luttringer + +pkgname=arpwatch +pkgver=2.1a15 +pkgrel=12 +pkgdesc='Ethernet/FDDI station activity monitor' +arch=('i686' 'x86_64') +url='ftp://ftp.ee.lbl.gov/' +license=('BSD') +depends=('libpcap' 'smtp-forwarder') +source=("ftp://ftp.ee.lbl.gov/$pkgname-$pkgver.tar.gz" + 'ethercodes.dat.xz' + 'LICENSE' + "$pkgname.service") +md5sums=('cebfeb99c4a7c2a6cee2564770415fe7' + '0a47a4e7a0f2ede5c8c7f22ec678fa72' + '9359518c500562281e76cdb0b2fa9062' + '43e2358ba0532da38e5296250a7fcfd8') + +prepare() { + cd $pkgname-$pkgver + # move arp database in /var/lib/arpwatch + # /var is used because arpwatch write its learned mac into this folder + sed -i 's|ARPDIR = $(prefix)/arpwatch|ARPDIR = /var/lib/arpwatch|' Makefile.in + # binary ownership to root + sed -i 's/-\(o\|g\) bin/-\1 root/g' Makefile.in + # Update ethercodes with recent OUI. See gen_ethercodes.sh + cp -f "$srcdir/ethercodes.dat" ethercodes.dat +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --mandir=/usr/share/man --sbindir=/usr/bin + make SENDMAIL=/usr/bin/sendmail +} + +package() { + cd $pkgname-$pkgver + install -d -m 0755 "$pkgdir"/usr/{bin,share/man/man8} + make DESTDIR="$pkgdir" install install-man + # install ether prefix database + install -Dm644 ethercodes.dat "$pkgdir/var/lib/$pkgname/ethercodes.dat" + cd "$srcdir" + # license + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + # systemd + install -Dm644 $pkgname.service "$pkgdir/usr/lib/systemd/system/$pkgname@.service" +} + +# vim:set ts=2 sw=2 et: diff --git a/community/arpwatch/arpwatch.service b/community/arpwatch/arpwatch.service new file mode 100644 index 000000000..ede31f3f7 --- /dev/null +++ b/community/arpwatch/arpwatch.service @@ -0,0 +1,11 @@ +[Unit] +Description=Watch ARP on interface %I +After=network.target + +[Service] +Type=forking +ExecStartPre=/usr/bin/touch /var/lib/arpwatch/%I.dat +ExecStart=/usr/bin/arpwatch -f /var/lib/arpwatch/%I.dat -i %I + +[Install] +WantedBy=multi-user.target diff --git a/community/arpwatch/ethercodes.dat.xz b/community/arpwatch/ethercodes.dat.xz Binary files differnew file mode 100644 index 000000000..1838c8194 --- /dev/null +++ b/community/arpwatch/ethercodes.dat.xz diff --git a/community/arpwatch/gen_ethercode.sh b/community/arpwatch/gen_ethercode.sh new file mode 100755 index 000000000..a5cdeeebe --- /dev/null +++ b/community/arpwatch/gen_ethercode.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +# Copyright © 2013 Sébastien Luttringer + +# This script is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This script is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this script. If not, see <http://www.gnu.org/licenses/>. + +# Get and format official OUI +wget -O- 'http://standards.ieee.org/regauth/oui/oui.txt' | \ +sed -nr 's/[ \t]+(..)-(..)-(..)[ \t]+\(hex\)[ \t]+(.*)/\L\1:\2:\3\E\t\4/p' > ethercodes.dat + +# Add private OUI +cat >> ethercodes.dat <<EOF +52:54:00 QEMU Virtual NIC +b0:c4:20 Bochs Virtual NIC +de:ad:ca PearPC Virtual NIC +00:ff:d1 Cooperative Linux virtual NIC +EOF + +# Sort and compress +sort ethercodes.dat | xz -9 > ethercodes.dat.xz +rm ethercodes.dat |