

A MAC address, also known as a Media Access Control address, is a unique identifier assigned to a network interface that is used to identify a particular device on a network. MAC addresses can be changed manually with the ifconfig command for tasks such as 'MAC Cloning' that may be required by DSL modems or interface bonding or similar.In today’s world of technology, it is essential to know how to check the MAC address table in Linux. The name will change if the Ethernet card is replaced or the machine is cloned to new hardware. Obviously this only works for machines on the same subnet. Grep -v 'mac.local #DYN' /etc/hosts > /etc/hosts.new

Of course it'll allocate it too as a side effect. With outside help you can do the lookup on the DHCP server this DHCP client for example lets you query any MAC want.

NOTE: this works even if they ignore PING packets because they can't ignore the ARP requests that are sent out first. There is even a special command for this arp-scan -localnet which forgets to do the PING. If you try to ping every (local) IP address your arp table arp -a will include all the MAC addresses and their assigned IPs. OTOH, if you really do want the IP address assigned to a particular MAC address the best you're going to do without outside help is to scan the subnet. everything is assigned an IP with dhcp but that IP never changes. That way you have the best of both worlds. The only way I've found to get around this is to make your DHCP server always assign a specific IP address to every device you have. Instead it makes the assumption that are aren't enough IP addresses available and preferentially reuses addresses. But it never uses this information to keep the same devices on stable IP addresses. This program records the Ethernet address of every device it has ever seen and the IP address that it assigned to it. I think you're running into what I believe is a serious mis-feature of the isc-dhcp server.
