ARGUS(8) | System Manager's Manual | ARGUS(8) |
argus - audit record generation and utilization system
argus [ options ] [ filter expression ]
Copyright (c) 2000-2015 QoSient, LLC All rights reserved.
Argus is a data network transaction auditing tool that categorizes and tracks network packets that match the libpcap filter expression into a protocol-specific network flow transaction model. Argus reports on the transactions that it discovers, as periodic network flow data, that is suitable for historical and near real-time processing for forensics, trending and alarm/alerting.
Designed to run as a daemon, argus reads packets directly from a network interface, classifies the packets into network transacations and appends the resulting network flow data to a log file or open socket connected to an argus client (such as ra(1)). Argus can also read packet information from tcpdump(1) , snoop(1) , NLANR's Moat Time Sequence Header or Endaces ERF raw packet files. Argus can also be configured to append its transaction logs to stdout.
Argus can provide address based access control for its socket connection facility using tcp_wrappers , and it can provide strong authentication and confidentiality protection using SASL2 technology. Refer to package documentation to enable each of these services.
This option sets a global Source identifier that can be overriden by specific -i options.
argus -e '"arg1"'
argus -e \"arg2\"
The syntax for specifying the interface is the same format used in the argus.conf.5 file. The optional source id specification can be an IPv4 address, an integer, or a string denoted using double quotes.
-i interface[/srcid]
-i all[/srcid]
-i dup:en0,en1/"ap01" ( en0 and en1 are in ingress and egress interfaces )
-i bond:en0,en1/2.3.4.5 ( en0 and en1 are bonded interfaces )
-i en0 en1 ( equivalent '-i bond:en0,en1' )
-i dup:[bond:en0,en1],en2/3 ( in this case 3 is the srcid )
-i en0/"en0" -i en1/"en1" ( equivalent '-i ind:en0/srcid,en1/srcid' )
The type provides the opportunity to specify what type of packet source to expect and process. Supported types are '' (default) and 'cisco', where argus will process the payload of packets as netflow records, when found.
Argus will read from only one input packet file at a time, and will open the files in lexigraphic order. Care should be taken to ensure that the timestamps in the packets are ordered, or unexpected behavior may result. If the -r option is specified, argus will not put down a listen(2) to support remote access.
Argus catches a number of signal(3) events. The three signals SIGHUP, SIGINT, and SIGTERM cause argus to exit, writing TIMEDOUT status records for all currently active transactions. The signal SIGUSR1 will turn on debug reporting, and subsequent SIGUSR1 signals, will increment the debug-level. The signal SIGUSR2 will cause argus to turn off all debug reporting.
/etc/argus.conf - argus daemon configuration file /var/run/argus.#.#.pid - PID file
Run argus as a daemon, writing all its transaction status reports to output-file. This is the typical mode.
argus -d -e `hostname` -w output-file
If ICMP traffic is not of interest to you, you can filter out ICMP packets on input.
argus -w output-file - ip and not icmp
Argus supports both input filtering and output filtering, and argus supports multiple output streams, each with their own independant filters. Output streams can be written to udp based sockets, to unicast or multicast addresses.
If you are interested in tracking IP traffic only (input filter) and want to report ICMP traffic to one output stream, and all other IP traffic in another output stream.
argus -w argus-udp://224.0.20.21:561 "icmp" \
-w argus-udp://224.0.20.21:562 "not icmp" - ip
Audit the network activity that is flowing between the two gateway routers, whose ethernet addresses are 00:08:03:2D:42:01 and 00:00:0C:18:29:F1. Without specifying an output-file, it is assumed that the transaction status reports will be written to a remote client. In this case we have changed the port that the remote client will use to port 430/tcp.
argus -P 430 ether host (0:8:3:2d:42:1 and 0:0:c:18:29:f1) &
Audit each individual ICMP ECHO transaction from data in <dir>. You would do this to gather Round Trip Time (RTT) data within your network. Append the output to output-file.
argus -R dir -w output-file "echo" - icmp
Audit all NFS transactions involving the server fileserver and increase the reporting interval to 3600 seconds (to provide high data reduction). Append the output to output-file.
argus -S 3600 -w output-file - host fileserver and udp and port 2049 &
Import flow data from pcap file containing Cisco flow data packets. Write output to stdout, to a ra.1 instance.
argus -r cisco:pcap-file -w - | ra
Carter Bullard (carter@qosient.com)
10 November 2000 | argus 3.0.8 |