If you just want to find out the MAC address of a given IP address you can use the command arp to look it up, once you've pinged the system 1 time. Example $ ping skinner -c 1 PING skinner.bubba.net (192.168.1.3) 56(84) bytes of data. 64 bytes from skinner.bubba.net (192.168.1.3): icmpseq=1 ttl=64 time=3.09 ms - skinner.bubba.net ping statistics - 1 packets transmitted, 1 received, 0%. Oct 28, 2019 Let’s say you have the MAC address 60-30-d4-76-b8-c8 (which is a macOS device) and you want to know the IP. From the results shown above, you can map the MAC address to the IP address in the same line. The IP Address is 192.168.0.102 (which is in the same network segment) belongs to 60-30-d4-76-b8-c8. Whether you like running commands directly in the shell, or if you prefer the graphical interface, you will be able to find your MAC address on Linux quickly. Find MAC Address on Linux. The easiest way to find your MAC address on Linux is to execute the “ifconfig” command with the “-a” option for “all”. The MAC address is available. Mar 03, 2019 ip addr show eth0 Finding the MAC Address of the Linux System. MAC address is another critical parameter of a network device, including your PC’s hardware or a server. Every PC’s network device should have a unique MAC address. Launch Terminal and enter the ip link command: ip link show. Jul 10, 2017 Finding the MAC Address of the Linux Box. In addition to the virtual IP address, each interface is also associated with a hardware MAC address that it can be necessary to know. As with the IP address, it can be confusing to find the right one because there seem to be so many! To get the MAC address of the interface, we use the following command.
Written by ouilookup
Updated on2020-04-26
If you are working as a system or a network administrator, you probably need to find MAC addresses everyday.
MAC addresses represent a very valuable source of information : they uniquely identify computers, more precisely network cards, over a network.
Assigned by the IEEE, MAC addresses can be equally found on Linux or Windows operating systems.
In this tutorial, you are going to learn how you can easily find your MAC address on Linux.
Whether you like running commands directly in the shell, or if you prefer the graphical interface, you will be able to find your MAC address on Linux quickly.
Find MAC Address on Linux
The easiest way to find your MAC address on Linux is to execute the “ifconfig” command with the “-a” option for “all”.
The MAC address is available in the “ether” section, concatening your OUI vendor and your OUI specific address.
For this network interface, you are presented with multiple different information :
- Network card general information : if the card is up or down, if it is running on unicast or multicast and its MTU.
- Layer 2 information : the information you are interested in : the MAC addresses as well as the layer 2 protocol used by the network card (in this case Ethernet)
- Layer 3 information : most of the time, you will be dealing with TCP/IP networks. As a consequence, the layer 3 summarizes the information about your IP address (IPv4 and IPv6 addresses). You are also given your default gateway IP address and netmask address.
- RX and TX packets : linked to the actual cable used, RX and TX entries represent the packets you are able to receive versus the packets you are able to transmit.
In this case, you are interested in the layer 2 information, more precisely the ether MAC address.
As you can see, when running the “ifconfig” command, my current MAC address is 02:42:35:54:98:2a.
The first three triplets are reserved for the OUI vendor (02:42:35 being the OUI vendor, and 54:98:2a the specific MAC address).
Note : if you are dealing with a virtual machine, or if you are currently renting a VPS, you may be assigned a virtual MAC address that is not linked to a specific vendor.
Also, if you have multiple network interfaces, they will all display their own individual addresses.
Awesome!
You successfully found your MAC address on Linux.
However, using the “ifconfig” command is not the only way for you to get your MAC address.
Find MAC Address using ip
If you are a veteran system administrator, you are probably already very familiar with the “ip” command.
In most cases, it is used in order to determine your current IP address, but it can also be used in order to get your MAC address.
In order to get your current MAC address, execute the “ip addr” command with the “show” option.
Using this command, you will be listed with all the network interfaces available on your current server.
As you can see, the result is pretty much the same than the one from the previous section (3a:2c:fb:46:63:be).
Using OUILookup, you are now able to search for your OUI vendor and have some more information about their location.
Find MAC Address by navigating the filesystem
As you probably already know, on Linux, everything is a file.
As a consequence, a lot of information is stored directly in plain files accessible by users on the filesystem.
Luckily for you, the MAC address can be accessed that way.
In order to find your MAC address on Linux, navigate to the
'/sys/class/net'
and identify the interface card you are interested in. Now that you have identified the network interface you are interested in, open the content of the “address” file in this symbolic link.
Congratulations, you have successfully identified your MAC address on your filesystem.
You can now use our website in order to identify the vendor associated with this MAC address.
Relationship between MAC and ARP
Now that you have identified your MAC address, you can use this information in order to troubleshoot network issues.
As a quick reminder, the MAC identifier is used by the ARP protocol in order to establish connections between nodes over a private local network (or LAN network).
Most of the time, this information will be used by switches (which are layer 2 devices) on your network.
Switches will store this information using an ARP table containing a mapping between IP addresses and MAC addresses.
However, switches are not the only ones to have an ARP table : your local server does also.
If you are interested in the MAC addresses currently stored locally on your server, hit the “arp” command in order to see your current cache.
Great, now you know all the MAC addresses that are cached in your server!
Conclusion
In this tutorial, you learnt how you can easily find your MAC address on Linux.
You also learnt about the relationship between your MAC address and the ARP protocol, that is used every single day for private network communication.
If you are interested in MAC addresses, you should probably head over to our blog section as we have many other tutorials on the same subject over there.
You can also check our articles :
Icons made by Smashicons and FreePik from Flaticon.
How would you communicate with a device when you don’t have the IP?
You might be in a situation where you don’t have the IP address of a device in a local network, but all you have is records of the MAC or hardware address.
Or your computer is unable to display its IP due to various reasons, and you are getting a “No Valid IP Address” error.
Finding the IP from a known MAC address should be the task of a ReverseARP application, the counterpart of ARP.
But RARP is an obsolete protocol with many disadvantages, so it was quickly replaced by other protocols like BOOTP and DHCP, which deal directly with IP addresses.
In this article, we’ll show you how to find IPs and device vendors using MAC addresses with different methods for free.
Understanding ARP
ARP (Address Resolution Protocol) is the protocol in charge of finding MAC addresses with IPs in local network segments.
It operates with frames on the data link layer.
As you might already know, devices in the data link layer depend on MAC addresses for their communication.
Their frames encapsulate packets that contain IP address information.
A device must know the destination MAC address to communicate locally through media types like Ethernet or Wifi, in layer 2 of the OSI model.
Understanding how ARP works can help you find IPs and MAC addresses quickly.
The following message flow diagram can help you understand the concept:
- The local computer sends a ping (ICMP echo request) to a destination IP address (remote computer) within the same segment. Unfortunately, the local computer does not know the MAC address… it only knows the IP address.
- The destination hardware address is unknown, so the ICMP echo request is put on hold. The local computer only knows its source/destination IP and its source MAC addresses. ARP uses two types of messages, ARP Request and Reply.
The local computer sends an ARP REQUEST message to find the owner of the IP address in question.
This message is sent to all devices within the same segment or LAN through a broadcast MAC (FF:FF:FF:FF:FF:FF) as the destination.
- Because the remote computer is part of the same network segment, it receives the broadcast message sent by the local computer. All other computers in the LAN also receive the broadcast but they know that the destination IP is not theirs, so they discard the packet. Only the remote computer with destination IP, responds to the ARP REQUEST with an ARP REPLY, which contains the target MAC address.
- The local computer receives the ARP REPLY with the MAC address. It then resumes the ICMP echo request, and finally, the remote computer responds with an ICMP echo reply.
Finding IPs with ARP
You can use ARP to obtain an IP from a known MAC address.
But first, it is important to update your local ARP table in order to get information from all devices in the network.
Send a ping (ICMP echo reply) to the entire LAN, to get all the MAC entries on the table.
To ping the entire LAN, you can send a broadcast to your network.
Open the Command Prompt in Windows or terminal in macOS and type.
ping 192.168.0.255
My subnet is 192.168.0.0/24 (mask of 255.255.255.0), so the broadcast address is 192.168.0.255 which can be calculated or found with a “Print Route” command in Windows or a “netstat -nr” in macOS. Or can also be obtained with a subnet calculator.
For Windows:
Step 1.
- Open the CMD (Command Prompt)
- Go to the “Start” menu and select “Run” or press (Windows key + R) to open the Run application
- In the “Open” textbox type “cmd” and press “Ok”.
This will open the command-line interface in Windows.
Step 2.
- Enter the “arp” command.
- The arp command without any additional arguments will give you a list of options that you can use.
Step 3.
- Use the arp with additional arguments to find the IP within the same network segment.
- With the command “arp -a” you can see the ARP table and its entries recently populated by your computer with the broadcast ping.
Step 4.
- Reading the output.
- The information displayed in the arp-a is basically the ARP table on your computer.
- It shows a list with IP addresses, their corresponding physical address (or MAC), and the type of allocation (dynamic or static).
Let’s say you have the MAC address 60-30-d4-76-b8-c8 (which is a macOS device) and you want to know the IP.
From the results shown above, you can map the MAC address to the IP address in the same line.
The IP Address is 192.168.0.102 (which is in the same network segment) belongs to 60-30-d4-76-b8-c8.
You can forget about those 224.0.0.x and 239.0.0.x addresses, as they are multicast IPs.
For macOS:
Step 1:
- Open the Terminal App. go to Applications > Utilities > Terminal or Launchpad > Other > Terminal.
Step 2:
- Enter the “arp” command with an “-a” flag.
- Once you enter the command “arp -a” you’ll receive a list with all ARP entries to the ARP Table in your computer.
- The output will show a line with the IP address followed by the MAC address, the interface, and the allocation type (dynamic/static).
Finding IPs with the DHCP Server
The Dynamic Host Configuration Protocol (DHCP) is the network protocol used by TCP/IP to dynamically allocate IP addresses and other characteristics to devices in a network.
The DHCP works with a client/server mode.
The DHCP server is the device in charge of assigning IP addresses in a network, and the client is usually your computer.
For home networks or LANs, the DHCP Server is typically a router or gateway.
If you have access to the DHCP Server, you can view all relationships with IPs, MACs, interfaces, name of the device, and lease time in your LAN.
Step 1.
- Log into the DHCP Server. In this example, the DHCP server is the home gateway.
- If you don’t know the IP address of your DHCP Server/ Gateway, you can run an ipconfig (in Windows) or ifconfig (in macOS/Linux).
- This particular DHCP Server/Gateway has a web interface.
Step 2.
- Enter the IP address on the search bar of the web browser, and input the right credentials.
Step 3.
- Find the DHCP Clients List.
- In this TP-Link router, the DHCP Server functionality comes as an additional feature.
- Go to DHCP > DHCP Clients List. From this list, you can see the mapping between MAC addresses and their assigned IPs.
Using Sniffers
If you couldn’t find the IP in the ARP list or unfortunately don’t have access to the DHCP Server, as a last resort, you can use a sniffer.
Packet sniffers or network analyzers like Nmap (or Zenmap which is the GUI version) are designed for network security.
They can help identify attacks and vulnerabilities in the network.
With Nmap, you can actively scan your entire network and find IPs, ports, protocols, MACs, etc.
If you are trying to find the IP from a known MAC with a sniffer like Nmap, look for the MAC address within the scan results.
How to find the Device and IP with a Sniffer?
Step 1.
- Keep records of your network IP address information.
- In this case, my network IP is 192.168.0.0/24. If you don’t know it, a quick “ipconfig” in Windows cmd or an “ifconfig” in macOS or Linux terminal can show you the local IP and mask.
- If you can’t subnet, go online to a subnet calculator and find your network IP.
Step 2.
- Download and open Nmap.
- Download Nmap from this official link https://nmap.org/download.html and follow its straightforward installation process.
Step 3.
- Open Nmap (or Zenmap) and use the command “sudo nmap -sn (network IP)” to scan the entire network (without port scan).
- The command will list machines that respond to the Ping and will include their MAC address along with the vendor.
- Don’t forget the “sudo” command.
- Without it, you will not see MAC addresses.
Finding out the device vendor from a MAC address
Ok, so now you were able to find out the IP address using “arp -a” command or through the DHCP Server.
But what if you want to know more details about that particular device?
What vendor is it?
Your network segment or LAN might be full of different devices, from computers, firewalls, routers, mobiles, printers, TVs, etc.
And MAC addresses contain key information for knowing more details about each network device.
First, it is essential to understand the format of the MAC address.
Traditional MAC addresses are 48 bits represented in 12-digit hexadecimal numbers (or six octets).
The first half of the six octets represent the Organizational Unique Identifier (OUI) and the other half is the Network Interface Controller (NIC) which is unique for every device in the world.
There is not much we can do about the NIC, other than communicating with it.
But the OUI can give us useful information about the vendor if you didn’t use Nmap, which can also give you the hardware vendor.
A free online OUI lookup tool like Wireshark OUI Lookup can help you with this.
Just enter the MAC address on the OUI search, and the tool will look at the first three octets and correlate with its manufacturing database.
Final Words
Although the RARP (the counterpart of ARP) was specifically designed to find IPs from MAC addresses, it was quickly discontinued because it had many drawbacks.
RARP was quickly replaced by DHCP and BOOTP.
But ARP is still one of the core functions of the IP layer in the TCP/IP protocol stack.
It finds MAC addresses from known IPs, which is most common in today’s communications.
ARP works under the hood to keep a frequently used list of MACs and IPs.
But you can also use it to see the current mappings with the command arp -a.
Aside from ARP, you can also use DHCP to view IP information. DHCP Servers are usually in charge of IP assignments.
If you have access to the DHCP server, go into the DHCP Client list and identify the IP with the MAC address.
Finally, you can use a network sniffer like Nmap, scan your entire network, and find IPs, and MACs.
Linux Mac Address Change
If you only want to know the vendor, an online OUI lookup like Wireshark can help you find it quickly.