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:
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.