NAME
arpwatch - keep track of ethernet/ip address pairings
SYNOPSIS
arpwatch [ -dN ]
[ -f datafile ]
[ -i interface ]
[ -n net[/width ]]
[ -r file ]
[ -s sendmail_path ]
[ -p ]
[ -a ]
[ -m addr ]
[ -u username ]
[ -R seconds ]
[ -Q ]
[ -z ignorenet/ignoremask ]
DESCRIPTION
Arpwatch keeps track for ethernet/ip address pairings. It syslogs
activity and reports certain changes via email. Arpwatch uses pcap(3)
to listen for arp packets on a local ethernet interface.
The -d flag is used enable debugging. This also inhibits forking into
the background and emailing the reports. Instead, they are sent to
stderr.
The -f flag is used to set the ethernet/ip address database filename.
The default is arp.dat.
The -i flag is used to override the default interface.
The -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 width is not specified, the default
netmask for the network’s class is used.
The -N flag disables reporting any bogons.
The -r flag is used to specify a savefile (perhaps created by
tcpdump(1) or pcapture(1)) to read from instead of reading from the
network. In this case, arpwatch does not fork.
(Debian) The -s flag is used to specify the path to the sendmail
program. Any program that takes the option -odi and then text from
stdin can be substituted. This is useful for redirecting reports to log
files instead of mail.
(Debian) The -p flag disables promiscuous operation. ARP broadcasts
get through hubs without having the interface in promiscuous mode,
while saving considerable resources that would be wasted on processing
gigabytes of non-broadcast traffic. OTOH, setting promiscuous mode
does not mean getting 100% traffic that would concern arpwatch . YMMV.
(Debian) -a By default, arpwatch reports bogons (unless -N is given)
for IP addresses that are in the same subnet than the first IP address
of the default interface. If this option is specified, arpwatch will
report bogons about every IP addresses.
(Debian) The -m option is used to specify the e-mail address to which
reports will be sent. By default, reports are sent to root on the
local machine.
(Debian) The -u flag instructs arpwatch to drop root privileges and
change the UID to username and GID to the primary group of username .
This is recommended for security reasons, but username has to have
write access to the default directory.
(Debian) The -R flag instructs arpwatch to restart in seconds seconds
after the interface went down. By default, in such cases arpwatch
would print an error message and exit. This option is ignored if
either the -r or -u flags are used.
(Debian) The -Q flags prevents arpwatch from sending reports by mail.
(Debian) The -z flag is used to set a range of ip addresses to ignore
(such as a DHCP range). Netmask is specified as 255.255.128.0.
Note that an empty arp.dat file must be created before the first time
you run arpwatch.
REPORT MESSAGES
Here’s a quick list of the report messages generated by arpwatch(1)
(and arpsnmp(1)):
new activity
This ethernet/ip address pair has been used for the first time
six months or more.
new station
The ethernet address has not been seen before.
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.)
changed ethernet address
The host switched to a new ethernet address.
SYSLOG MESSAGES
Here are some of the syslog messages; note that messages that are
reported are also sysloged.
ethernet broadcast
The mac ethernet address of the host is a broadcast address.
ip broadcast
The ip address of the host is a broadcast address.
bogon The source ip address is not local to the local subnet.
ethernet broadcast
The source mac or arp ethernet address was all ones or all
zeros.
ethernet mismatch
The source mac ethernet address didn’t match the address inside
the arp packet.
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.)
suppressed DECnet flip flop
A "flip flop" report was suppressed because one of the two
addresses was a DECnet address.
FILES
/var/lib/arpwatch - default directory
arp.dat - ethernet/ip address database
/usr/share/arpwatch/ethercodes.dat - vendor ethernet block list
SEE ALSO
arpsnmp(8), arp(8), bpf(4), tcpdump(1), pcapture(1), pcap(3)
AUTHORS
Craig Leres of the Lawrence Berkeley National Laboratory Network
Research Group, University of California, Berkeley, CA.
The current version is available via anonymous ftp:
ftp://ftp.ee.lbl.gov/arpwatch.tar.gz
BUGS
Please send bug reports to arpwatch@ee.lbl.gov.
Attempts are made to suppress DECnet flip flops but they aren’t always
successful.
Most error messages are posted using syslog.