Skip to content
/ ndplog Public

A script to periodically collect ARP and NDP neighbour caches from routers.

License

Notifications You must be signed in to change notification settings

grawity/ndplog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ndplog

A script to poll the neighbor caches (aka ARP tables) from hosts and gateways, then store in a MySQL database.

The purpose of neighbor data collection is to allow tracing unknown IP addresses back to the physical device, which is especially useful for IPv6 subnets where hosts may use Privacy Extensions to rapidly switch their addresses, but may also help with IPv4 in case of hosts which have static configuration (accidentally or maliciously).

(Doesn't this defeat the point of Privacy Extensions? No, not really; they are only meant to hide you from servers – not from your own network operator who knows your layer-2 address anyway.)

Dependencies

The following Python modules are needed:

  • MySQLdb (python-mysqlclient, python3-mysqldb)
  • tikapy (for Mikrotik RouterOS devices)

Configuration

Linux, Solaris, and RouterOS hosts can be polled (the former via SSH, the latter via RouterOS API). See included ndplog.conf.example.

About

A script to periodically collect ARP and NDP neighbour caches from routers.

Topics

Resources

License

Stars

Watchers

Forks

Languages