1{
2 lib,
3 stdenv,
4 fetchurl,
5 libpcap,
6 bison,
7 flex,
8 cyrus_sasl,
9 tcp_wrappers,
10 pkg-config,
11 procps,
12 which,
13 wget,
14 lsof,
15 net-snmp,
16 perl,
17}:
18
19stdenv.mkDerivation rec {
20 pname = "argus";
21 version = "3.0.8.2";
22
23 src = fetchurl {
24 url = "http://qosient.com/argus/src/${pname}-${version}.tar.gz";
25 sha256 = "1zzf688dbbcb5z2r9v1p28rddns6znzx35nc05ygza6lp7aknkna";
26 };
27
28 nativeBuildInputs = [
29 pkg-config
30 bison
31 flex
32 ];
33 buildInputs = [
34 libpcap
35 cyrus_sasl
36 tcp_wrappers
37 ];
38 propagatedBuildInputs = [
39 procps
40 which
41 wget
42 lsof
43 net-snmp
44 ];
45
46 patchPhase = ''
47 substituteInPlace events/argus-extip.pl \
48 --subst-var-by PERLBIN ${perl}/bin/perl
49 substituteInPlace events/argus-lsof.pl \
50 --replace "\`which lsof\`" "\"${lsof}/bin/lsof\"" \
51 --subst-var-by PERLBIN ${perl}/bin/perl
52 substituteInPlace events/argus-vmstat.sh \
53 --replace vm_stat ${procps}/bin/vmstat
54 substituteInPlace events/argus-snmp.sh \
55 --replace /usr/bin/snmpget ${lib.getBin net-snmp}/bin/snmpget \
56 --replace /usr/bin/snmpwalk ${lib.getBin net-snmp}/bin/snmpwalk
57 '';
58
59 meta = with lib; {
60 description = "Audit Record Generation and Utilization System for networks";
61 longDescription = ''
62 The Argus Project is focused on developing all
63 aspects of large scale network situtational awareness derived from
64 network activity audit. Argus, itself, is next-generation network
65 flow technology, processing packets, either on the wire or in
66 captures, into advanced network flow data. The data, its models,
67 formats, and attributes are designed to support Network
68 Operations, Performance and Security Management. If you need to
69 know what is going on in your network, right now or historically,
70 you will find Argus a useful tool.
71 '';
72 homepage = "http://qosient.com/argus";
73 license = licenses.gpl2Plus;
74 maintainers = with maintainers; [ leenaars ];
75 platforms = platforms.linux;
76 };
77}