Blob Blame History Raw
.\" @(#) $Id: arpwatch.8,v 1.13 2000/10/08 20:31:25 leres Exp $ (LBL)
.\"
.\" Copyright (c) 1992, 1994, 1996, 1997, 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.
.\"
.TH ARPWATCH 8 "8 October 2000"
.UC 4
.SH NAME
arpwatch - keep track of ethernet/ip address pairings
.SH SYNOPSIS
.na
.B arpwatch
[
.B -dNp
] [
.B -f
.I datafile
] [
.B -i
.I interface
]
.br
.ti +9
[
.B -n
.IR net [/ width
]] [
.B -r
.I file
] [
.B -u
.I username
] [
.B -e
.I username
] [
.B -s
.I username
]
.ad
.SH DESCRIPTION
.B Arpwatch
keeps track for ethernet/ip address pairings. It syslogs activity
and reports certain changes via email.
.B Arpwatch
uses
.BR pcap (3)
to listen for arp packets on a local ethernet interface.
.LP
The
.B -d
flag is used enable debugging. This also inhibits forking into the
background and emailing the reports. Instead, they are sent to
.IR stderr .
.LP
The
.B -p
flag disables promiscous mode.
.LP
The
.B -f
flag is used to set the ethernet/ip address database filename.
The default is
.IR arp.dat .
.LP
The
.B -i
flag is used to override the default interface.
.LP
The
.B -n
flag specifies additional local networks. This can be useful to
avoid "bogon" warnings when there is more than one network running
on the same wire. If the optional
.I width
is not specified, the default netmask for the network's class is used.
.LP
The
.B -N
flag disables reporting any bogons.
.LP
The
.B -r
flag is used to specify a savefile
(perhaps created by
.BR tcpdump (1)
or
.BR pcapture (1))
to read from instead
of reading from the network. In this case,
.B arpwatch
does not fork.
.LP
If 
.B -u 
flag is used, 
.B arpwatch
drops root privileges and changes user ID to
.I username
and group ID to that of the primary group of 
.IR username .
This is recommended for security reasons.
.LP
If the
.B -e 
flag is used, 
.B arpwatch
sends e-mail messages to
.I username
rather than the default (root).
If a single `-' character is given for the username,
sending of e-mail is suppressed,
but logging via syslog is still done as usual.
(This can be useful during initial runs, to collect data
without being flooded with messages about new stations.)
.LP
If the
.B -s 
flag is used, 
.B arpwatch
sends e-mail messages with
.I username
as the return address, rather than the default (root).
.LP
Note that an empty
.I arp.dat
file must be created before the first time you run
.BR arpwatch . 
Also, the default directory (where arp.dat is stored) must be owned
by 
.I username
if 
.BR -u
flag is used.
.LP
.SH "REPORT MESSAGES"
Here's a quick list of the report messages generated by
.BR arpwatch (1)
(and
.BR arpsnmp (1)):
.TP
.B "new activity"
This ethernet/ip address pair has been used for the first time six
months or more.
.TP
.B "new station"
The ethernet address has not been seen before.
.TP
.B "flip flop"
The ethernet address has changed from the most recently seen address to
the second most recently seen address.
(If either the old or new ethernet address is a DECnet address and it
is less than 24 hours, the email version of the report is suppressed.)
.TP
.B "changed ethernet address"
The host switched to a new ethernet address.
.SH "SYSLOG MESSAGES"
Here are some of the syslog messages;
note that messages that are reported are also sysloged.
.TP
.B "ethernet broadcast"
The mac ethernet address of the host is a broadcast address.
.TP
.B "ip broadcast"
The ip address of the host is a broadcast address.
.TP
.B "bogon"
The source ip address is not local to the local subnet.
.TP
.B "ethernet broadcast"
The source mac or arp ethernet address was all ones or all zeros.
.TP
.B "ethernet mismatch"
The source mac ethernet address didn't match the address inside
the arp packet.
.TP
.B "reused old ethernet address"
The ethernet address has changed from the most recently seen address to
the third (or greater) least recently seen address.
(This is similar to a flip flop.)
.TP
.B "suppressed DECnet flip flop"
A "flip flop" report was suppressed because one of the two
addresses was a DECnet address.
.SH FILES
.na
.nh
.nf
/var/lib/arpwatch - default directory
arp.dat - ethernet/ip address database
ethercodes.dat - vendor ethernet block list
.ad
.hy
.fi
.SH "SEE ALSO"
.na
.nh
.BR arpsnmp (8),
.BR arp (8),
.BR bpf (4),
.BR tcpdump (1),
.BR pcapture (1),
.BR pcap (3)
.ad
.hy
.SH AUTHORS
Craig Leres of the
Lawrence Berkeley National Laboratory Network Research Group,
University of California, Berkeley, CA.
.LP
The current version is available via anonymous ftp:
.LP
.RS
.I ftp://ftp.ee.lbl.gov/arpwatch.tar.gz
.RE
.SH BUGS
Please send bug reports to arpwatch@ee.lbl.gov.
.LP
Attempts are made to suppress DECnet flip flops but they
aren't always successful.
.LP
Most error messages are posted using syslog.