MAC Address Tracker: Generating a Network Inventory Database Using Network Traffic Analysis
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 what 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. The image below shows a sample output from our own LANGuardian system which captures metadata like MAC addresses from network traffic.
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 one of our customers had an issue during a very busy and critical time of the day, the 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 shutdown.
A use case like the one above shows that the need to track devices on network is important. Common use cases that we come across include:
- Generating a list of network devices for compliance standards such as GDPR
- Detect faulty network equipment which may be responsible for broadcast traffic storms
- Quickly locate problematic devices in the event of a malware outbreak such as Ransomware
- See the corresponding MAC address associated with copyright violations where clients are using applications like BitTorrent
- Capture additional metadata for your existing network monitor or SIEM application
- Track specific application like web traffic by MAC address
The video below shows how you can use a network traffic analysis application to find the host-name or MAC addresses of devices connected to your network.