

Well the way networking, rather layering is designed, this is a deliberately unwanted behavior. Now for the machine outside your subnet - there is no standard of the shelf application which does that, i tried to think if any ICMP message can do it, but as of now i think there is none. This is the same cache which give "IP resolution conflicts". How can you find the MAC for a particular IP(machine) which is not the part of your subnet?įor the all the machines/IPs on your subnet the IP-MAC table is stored in ARP Cache, locally on your machine. They will always return MAC address as 00-00-00-00-00-00. The above technique wont work on Linux samba servers. But if network has lot of Linux machines then there is no good very common way to find MAC from other networks. Hence if there are lot of windows machines on your network you can find MAC address for them even when are not in their subnet. But I guess you have to be administrator for accessing router or DHCP server.

Then the only options are seeing MAC address table in router, or if there is common network wide DHCP server then you can see MAC address in DHCP logs. If the machine in question is not a windows machine and there is no way to become part of other subnet. To do the same thing from Linux machine (with samba installed) use command nmblookup -R -S -A For example to find MAC address of a Windows PC on other network when you know its IP address you can use command nbtstat -A But there are some protocols that may help you in finding MAC address from anywhere in network. It cannot be guaranteed that you can see MAC address of machines behind a router.
