Given SNMP-capable routers and switches, sdig can turn an IP address, DNS/WINS host name or a MAC address into a port description. Sdig will run on most any platform that net-snmp supports. It currently compiles on FreeBSD, Linux and Solaris.
Easy for use.
I have been using SDIG in several networks I maintain for about a decade. While it has its quirks regarding configuration files, I have straightened out a few of them (as a co-developer now), and it is a rather useful tool when an admin needs to quickly find the location of a network host. This is especially useful again nowadays with homebrewn virtualization farms, when you might not be certain which physical host executes a specific VM or Solaris local zone, and you don't want to inspect dozens of hosts via SSH ;) All you need is an SNMP-enabled networking infrastructure (managed switches and routers, supporting the standard Bridge MIB et al), and a management host permitted to access these SNMP services. In the current version (0.45) you can use adresses on a dedicated management subnet for such queries... //Jim Klimov