How to find the MAC address of a remote computer?

If you are on a Windows machine, open a command box (Start...Run...cmd), ping the target machine so you have made contact with it, and then issue the command arp -a to view your local ARP table, which will list IP addresses and their corresponding MAC addresses, e.g.,

C:\Users\L3K> arp -a

Interface: 192.168.200.128 --- 0xb
  Internet Address      Physical Address      Type
  192.168.200.1         00-50-7f-c3-5c-88     dynamic
  192.168.200.2         00-50-7f-d1-e1-40     dynamic
  192.168.200.6         00-80-77-dd-a8-6b     dynamic

If you are on a Linux-based system, install the arp-scan utility, and then from a command line you can ask for a scan of your network - in my case:

sudo arp-scan 192.168.200.0/24

If you are using an interface other than Ethernet, say, wireless, you will need to specify that, such as

sudo arp-scan -I wlan0 192.168.200.0/24

If you don't know what interface you're using, simply use the appropriate command below.

ifconfig  (For Debian based OS such as Ubuntu)
ip link   (For OS like Arch Linux)

The command arping comes with the iputils package on linux. Specify an ip address to ping and it returns the MAC address, even across switches and subnets on the LAN (at least it does on our LAN).

# arping -c 1 -I eth0 10.100.10.11
ARPING 10.100.10.11 from 10.100.10.25 eth0
Unicast reply from 10.100.10.11 [00:22:68:88:F3:90]  0.594ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)