1ARPWATCH(8)               BSD System Manager's Manual              ARPWATCH(8)
2

NAME

4     arpwatch — keep track of ethernet/ip address pairings
5

SYNOPSIS

7     arpwatch [-CdFNpqsvzZ] [-D arpdir] [-f datafile] [-i interface]
8              [-P pidfile] [-w watcher@email] [-W watchee@email]
9              [-n net[/width]] [-x net[/width]] [-r file] [-u username]
10

DESCRIPTION

12     arpwatch keeps track of ethernet/ip address pairings. It syslogs activity
13     and reports certain changes via email.  arpwatch uses pcap(3) to listen
14     for arp packets on a local ethernet interface.
15
16     arp.dat contains three or four fields. First is the ethernet mac address,
17     second is the IPv4 address, and third is the time expressed in seconds
18     since midnight, January 1, 1970. The optional forth field is the short
19     hostname derrived from PTR record of the ip address when a mac/ip pair is
20     first seen; it is never updated and was intended to be a breadcrumb to
21     determine the origin of a mac/ip pair.
22
23     The -C flag uses compact padded ethernet addresses in arp.dat, e.g.
24     0:8:e1:1:2:d6.
25
26     The -d flag is used enable debugging. This also inhibits forking into the
27     background and emailing the reports. Instead, they are sent to stderr.
28
29     The -D flag is used to specify the arpwatch working directory. This de‐
30     faults to /var/lib/arpwatch.
31
32     The -f flag is used to set the ethernet/ip address database filename.
33     The default is arp.dat.
34
35     The -F flag is prevents arpwatch from forking causing it to run in the
36     foreground.
37
38     The -i flag is used to override the default interface.
39
40     The -n flag specifies additional local networks. This can be useful to
41     avoid "bogon" warnings when there is more than one network running on the
42     same wire. If the optional width is not specified, the default netmask
43     for the network's class is used.
44
45     The -N flag disables reporting any bogons.
46
47     The -p flag disables promiscuous mode.
48
49     The -P flag specifies the pidfile.
50
51     The -q flag suppresses reports being logged or printed to stderr.
52
53     The -r flag is used to specify a savefile (perhaps created by tcpdump(8)
54     or pcapture(8)) to read from instead of reading from the network. In this
55     case arpwatch does not fork.
56
57     Note that an empty arp.dat file must be created before the first time you
58     run arpwatch.  Also, the default directory (where arp.dat is stored) must
59     be owned by username if the -u flag is used.
60
61     The -s flag suppresses reports sent by email.
62
63     The -u flag causes arpwatch to drop root privileges and change user ID to
64     username and group ID to that of the primary group of username.  This is
65     recommended for security reasons.
66
67     The -v flag disables the reporting of VRRP/CARP ethernet prefixes as de‐
68     scribed in RFC5798 (0:0:5e:0:1:xx).
69
70     The -w flag is used to specify the target address for email reports. The
71     default is root.
72
73     The -W flag is used specifies the from address for email reports. The de‐
74     fault is root.
75
76     The -z flag disables reporting 0.0.0.0 changes, helpful in busy DHCP-
77     served networks.
78
79     The -Z flag uses zero padded ethernet addresses in arp.dat, e.g.
80     00:08:e1:01:02:d6.
81

REPORT MESSAGES

83     Here's a quick list of the report messages generated by arpwatch(8) (and
84     arpsnmp(8)):
85
86     new activity
87          This ethernet/ip address pair has been used for the first time six
88          months or more.
89
90     new station
91          The ethernet address has not been seen before.
92
93     flip flop
94          The ethernet address has changed from the most recently seen address
95          to the second most recently seen address.  (If either the old or new
96          ethernet address is a DECnet address and it is less than 24 hours,
97          the email version of the report is suppressed.)
98
99     changed ethernet address
100          The host switched to a new ethernet address.
101

SYSLOG MESSAGES

103     Here are some of the syslog messages; note that messages that are re‐
104     ported are also sysloged.
105
106     ethernet broadcast
107          The mac ethernet address of the host is a broadcast address.
108
109     ip broadcast
110          The ip address of the host is a broadcast address.
111
112     bogon
113          The source ip address is not local to the local subnet.
114
115     ethernet broadcast
116          The source mac or arp ethernet address was all ones or all zeros.
117
118     ethernet mismatch
119          The source mac ethernet address didn't match the address inside the
120          arp packet.
121
122     reused old ethernet address
123          The ethernet address has changed from the most recently seen address
124          to the third (or greater) least recently seen address.  (This is
125          similar to a flip flop.)
126
127     suppressed DECnet flip flop
128          A "flip flop" report was suppressed because one of the two addresses
129          was a DECnet address.
130

FILES

132     /var/lib/arpwatch  default directory
133     arp.dat            default ethernet/ip address database
134     ethercodes.dat     vendor ethernet block list
135

SEE ALSO

137     arpsnmp(8), arp(8), bpf(2), tcpdump(8), pcapture(8), pcap(3)
138

AUTHORS

140     Craig Leres of the Lawrence Berkeley National Laboratory Network Research
141     Group, University of California, Berkeley, CA.
142
143     The current version is available via anonymous ftp:
144
145           ftp://ftp.ee.lbl.gov/arpwatch.tar.gz
146

BUGS

148     Please send bug reports to ⟨arpwatch@ee.lbl.gov⟩.
149
150     Attempts are made to suppress DECnet flip flops but they aren't always
151     successful.
152
153     Most error messages are posted using syslog.
154
155                                26 October 2021
Impressum