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