Why do we need to track MAC addresses?
A media access control address (MAC address) of a device is a unique identifier assigned to a network interface controller (NIC) for communications at the data link layer of a network segment. As they are unique, they are used by network devices such as switches to maintain an inventory of what is connected to which switch port.
The concept of a network inventory has been around for a long time. It is one of the fundamentals of networking. Devices cannot exchange data unless they know who to share it with. However, a lot of this inventory information is hidden behind the scenes, buried in MAC tables on switches and distributed across multiple devices.
Many compliance standards, such as GDPR, now require network managers to maintain a list of what is active on their networks. However, it is good practice to maintain a list of what is connected to your network. If you get hit with something like ransomware, you will need to act fast and track down what is connected to your network quickly.
Where can you capture MAC address information?
The easiest way to capture MAC addresses is to monitor network traffic via a SPAN, mirror port, or TAP. This will give you access to network packets, and each packet will contain MAC addresses. You need to be careful about where you capture this information. If you monitor traffic on the wrong side of a routing device, like a firewall or network router, you may find that all traffic is associated with the firewall/router MAC address.
An ideal location for capturing MAC addresses is the network core where traffic from clients and servers converges. Server logs and flow data are not good data sources when it comes to capturing data for a MAC address tracker. Logs and flow records focus more on IP addresses, which can move from device to device on networks that use DHCP. The image below shows a typical flow record with date, time, IP and port information.
Common use cases for a MAC address tracker
In the past, MAC address capturing was typically done using packet analysis tools such as Wireshark. While this is useful for troubleshooting isolated issues, it is not very scalable when it comes to tracking all network device activity.
Recently, we heard of someone who had an issue during a very busy and critical time of the day. Switches were reporting “Broadcast storm detected” and had applied filters as a defense mechanism. This resulted in connectivity issues on their network. As they had an inventory of MAC addresses and associated broadcast traffic, they located the rogue network device quickly. In their case, it was a faulty IP phone, and normal network operations resumed after it was shut down.
A use case like the one above shows that the need to track devices on the network is important. Other common use cases that we come across include:
- Generating a list of network devices for compliance standards such as GDPR.
- Detecting faulty network equipment that may be responsible for broadcast traffic storms.
- Quickly locating problematic devices in the event of a malware outbreak such as ransomware.
- Seeing the corresponding MAC address associated with copyright violations where clients are using applications like BitTorrent.
- Capturing additional metadata for your existing network monitor or SIEM application.
- Tracking specific applications, like web traffic by MAC address.