--- a/arpwatch.c 2017-03-22 08:44:22.095722636 +0100 +++ b/arpwatch.c 2017-03-22 09:11:08.119515745 +0100 @@ -123,6 +123,7 @@ struct nets { static struct nets *nets; static int nets_ind; static int nets_size; +static int ignore_zero_net; extern int optind; extern int opterr; @@ -477,6 +478,11 @@ process_ether(register u_char *u, regist /* Source ip address */ BCOPY(SPA(ea), &sia, 4); + if (sia == 0 && ignore_zero_net) { + syslog(LOG_DEBUG, "ignoring packet from 0.0.0.0"); + return; + } + /* Watch for bogons */ if (isbogon(sia)) { dosyslog(LOG_INFO, "bogon", sia, sea, sha); @@ -802,6 +808,9 @@ addnet(register const char *str) np->netmask = m; ++nets_ind; + if (n == 0) + ignore_zero_net = 1; + return (1); }