Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I know the IP address of a host on my own LAN. Using that, how can I find its MAC address (without having to physically access it)?

share|improve this question

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: --- 0xb
  Internet Address      Physical Address      Type         00-50-7f-c3-5c-88     dynamic         00-50-7f-d1-e1-40     dynamic         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

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

sudo arp-scan -I wlan0

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)
share|improve this answer
Will work only if other host is on the same LAN segment. – AnonymousLurker Oct 1 '12 at 6:49
@Linker3000, What's the point of ping before arp -a? – Pacerier Nov 10 '15 at 16:23
@Pacerier - the arp command shows the contents of the Address Resolution Protocol cache, which maps IP addresses to the hardware (mac) addresses . If you haven't contacted the target ip address, then it won't be in the cache. Ping is a simple way to contact it to add it to the cache. You could use any network command, it's just ping is an easy one. – Kevin Jones Dec 9 '15 at 11:33

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
ARPING from eth0
Unicast reply from [00:22:68:88:F3:90]  0.594ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
share|improve this answer
In Debian, there are 2 packages: arping and iputils-arping. The arping package worked for me, though network interface is specified with a lower-case i: arping -c 1 -i eth0 – chronos Feb 25 '15 at 11:11


getmac /s hostname


getmac /s IP

You need admin access to the machine to do this.

share|improve this answer
Why not just use arp -a which doesn't need admin access? – Pacerier Nov 10 '15 at 16:22

just use something like:

nmap -n -sP

after adapting the params to your setup this will scan your whole subnet giving IP and MAC addrs

share|improve this answer

If you have a managed switch or your router lets you view its ARP table you can get this from there.

If the computer you have the IP for is online you can ping it and get its MAC from you local ARP table.

A general note for the sake of others: it is not possible to obtain the MAC address for machines that are on a different LAN since Layer 3 protocols are used for addressing and delivery in this case and MAC is Layer 2.

share|improve this answer
Didn't really give him any instructions on "how" to do this. – GregD Feb 13 '11 at 14:03
In the case of viewing it on the router, you just go to the web interface and hunt around. Can't be much more specific than that since every router has a different layout and set of pages for its web admin. Seems like a harsh -1 to me, especially since I gave more info than MaQleod. – imoatama Jul 29 '11 at 14:23

You can use utility like or another ip\mac address scanner to scan network for addresses of remote computers on LAN.

share|improve this answer
There are many free options as well... searching for "IP scanner" – JoshP Oct 1 '12 at 12:53

As long as there is no gateway routing the traffic between the computers, any sniffer would give you this information.

share|improve this answer
Thanks for the answer Ofir. As a sub-question, is there a way of doing this if the host in question is down? Yes, I could query my own host's ARP cache, but it unfortunately doesn't currently contain the IP I'm interested in. So I was wondering if there's a way to somehow extract say an intermediary router's ARP cache and look up in that? – Frederick Sep 15 '10 at 8:20

You can always consult the arp table on your router (in some cases, the router combines the arp and dhcp lease tables together).

share|improve this answer
Exactly what I'm looking for, but what tools or commands will help me do that? – Frederick Sep 15 '10 at 8:22
But wait a minute, I am on the same LAN, so there won't be any router right? – Frederick Sep 15 '10 at 8:25
Typical LANs will have at least one router. Depending on the router, you have different options of how to get it. Most home routers you need to access it using the Web Interface in order to find that information, more complex routers will let you telnet in or query via the console port in order to get that information. – MaQleod Sep 15 '10 at 8:31

Another way is:

nbtstat -a

(replace with desired address)

Also, if getmac is used on a non-Windows computer, you'd get:

ERROR: The RPC server is unavailable.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .