Netdisco
Netdisco is a network management tool suitable for small to very large networks. IP address and MAC address data is collected into a PostgreSQL database using SNMP, CLI, or device APIs. It allows network administrators to locate the exact switch port of any node connected to the network.
Details
Netdisco utilizes SNMP to fetch ARP tables from routers and MAC tables from layer 2 switches. If Cisco Discovery Protocol, Link Layer Discovery Protocol, Foundry Discovery Protocol or SynOptics Network Management Protocol is available, discovery of the network topology is mostly automatic. In case the above-mentioned protocols are not enabled the topology can be defined manually. A record is maintained of the IP addresses and ports each node has used.Although written primarily in Perl, and distributed through CPAN, recent work includes interfaces to Python.