ARPWATCH(8)                 System Manager's Manual                ARPWATCH(8)

       arpwatch - keep track of ethernet/ip address pairings

       arpwatch [ -dN ] [ -f arpfile ] [ -e etherfile ] [ -i interface ]
               [ -m email ] [ -n net[/width ]] [ -r file ]

       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

       The -f flag is used to set the ethernet/ip address database filename.
       The default is arp.dat.

       The -e flag is used to set the ethernet/interface database filename.
       The default is ether.dat.

       The -i flag is used to specify a single interface.  By default,
       arpwatch will listen to all non-loopback interfaces.  Using more than
       one -i option on the same command line is not supported.

       The -m flag specifies the address that will receive the emails.  The
       default is root.

       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.  It is highly recommended
       that this flag be used on machines with multiple interfaces.

       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.

       Note that an empty arp.dat and ether.dat file must be created before
       the first time you run arpwatch.

       Here's a quick list of the report messages generated by arpwatch (and
       arpsnmp ):

       new ethernet device
              The ethernet address has not been seen before.

       ethernet device changed interfaces
              An ethernet address associated with one interface has moved to a
              different interface.

       new activity
              This ethernet/ip address pair has been used for the first time
              six months or more.

       new active IP address
              The IP 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

       changed ethernet address
              The host switched to a new ethernet address.

       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

       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.

       Interfaces can be assigned labels that are displayed in reports next to
       the interface name.  This is useful for identifying connected networks.
       In order to assign a label, create a symbolic link in the arpwatch data
       directory.  The link should have the same name as the interface, and
       should point to the textual label.  For example:

       ln -s "Internal Network" dc0

       Labels are read when arpwatch initializes.  The process must be
       restarted for label changes to take effect.

       /usr/local/arpwatch - default directory
       arp.dat - ethernet/ip address database
       ether.dat - ethernet/interface address database
       ethercodes.dat - vendor ethernet block list

       arpsnmp(8), arp(8), bpf(4), tcpdump(1), pcapture(1), pcap(3)

       Craig Leres of the Lawrence Berkeley National Laboratory Network
       Research Group, University of California, Berkeley, CA.

       The current version is available via anonymous ftp:


       Please send bug reports to

       Attempts are made to suppress DECnet flip flops but they aren't always

       Most error messages are posted using syslog.

4th Berkeley Distribution       8 October 2000                     ARPWATCH(8)