Who Has 10.0.4.17? Tracing an IP Address Back to a Physical Device
An address shows up in an alert, a complaint, or a cleanup list, and somebody has to turn it into a box they can put a hand on. Three situations start this hunt more than any other. A conflict warning names an address that two devices are fighting over. A security or bandwidth report names an address that is scanning the network or eating the internet connection at two in the morning. Or a cleanup is stuck, because an address that looks abandoned in the records still answers, and nobody will free it without knowing what will break. In every case, "it responds to ping" settles nothing. Ping proves that something is alive at that IP (Internet Protocol) address, and stops there. Finding out what that something is, and where it sits, takes a chain of lookups, each one translating an identifier you have into the next one you need.
The chain is the whole method, so it is worth seeing in one piece before walking it. An IP address maps to a MAC (Media Access Control) address, the hardware identifier stamped into every network interface at the factory. The MAC address maps to a manufacturer. The same MAC address maps to a port on a switch. The port maps to a wall jack or a cable. The jack maps to a room. Each hop has a primary source and a fallback, and when you get stuck, the useful question is which hop failed, because the fallback for hop three is no help with a problem at hop one.
The chain, and where each answer comes from
hop 1 IP address to MAC address ARP table on a nearby machine, or on the router
hop 2 MAC address to manufacturer OUI lookup on the first six characters
hop 3 MAC address to switch port the switch's MAC table, following uplinks down
hop 4 switch port to wall jack port description or patch panel label
hop 5 wall jack to room the floor plan, or your own two feet
Start on a machine plugged into the same subnet as the address, meaning the same local network segment, because that is the only place the first hop works directly. Ping the address once, then read the ARP (Address Resolution Protocol) table. ARP is the mechanism a computer uses to ask the local network "who has this IP address?" and remember the MAC address that answers. The ping matters because the table only fills when your machine tries to talk to the address, and a freshly booted laptop knows nothing until it asks. A host firewall that drops pings still gives itself away here. Your machine has to resolve the MAC address before it can send the ping at all, and the target's network stack answers that question before any firewall rule gets a vote. So an address that "does not respond" can still appear in the table with a MAC address beside it, which is the fingerprint you came for. On IPv6 (Internet Protocol version 6, the newer addressing scheme with much longer addresses) the same table is called the neighbor table, and the commands below have a -6 flavor.
Hop one, from a machine on the same subnet
# Windows ping 10.0.4.17 then arp -a | findstr 10.0.4.17
# macOS ping -c 2 10.0.4.17 then arp -a | grep 10.0.4.17
# Linux ping -c 2 10.0.4.17 then ip neigh | grep 10.0.4.17
# A hit looks like: 10.0.4.17 a4-83-e7-2f-91-0c dynamic
If the address lives on a different subnet from the machine you are typing on, your own ARP table will either show nothing for it or, on some networks, show the router's MAC address standing in for it. That second case fools people regularly. The router is doing its job as the middleman, and the entry says nothing about the device. Go to the router or firewall that serves that subnet, since it keeps an ARP table for every segment attached to it, and ask it the same question. Most firewalls also expose the table in their web interface under a diagnostics menu, which is the same data without a command line. A conflict makes this hop more interesting in a useful way: run the lookup several times over a few minutes and you may see the MAC address flip between two values, which means you now hold both fighters' fingerprints. Our guide to IP address conflicts covers that fight, and why it makes connections come and go.
Hop one again, on the router that serves the subnet
show ip arp 10.0.4.17 # Cisco IOS routers and Layer 3 switches
ip neigh | grep 10.0.4.17 # Linux-based (OpenWrt, VyOS, Ubiquiti)
arp -a | grep 10.0.4.17 # FreeBSD-based (pfSense, OPNsense)
A MAC address is twelve characters drawn from the digits 0 to 9 and the letters a to f, and the first six are an OUI (Organizationally Unique Identifier), a code assigned to whoever made the network chip. Paste that first half into any free "MAC vendor lookup" page and you get a company name. Sometimes that ends the hunt. A result of "Raspberry Pi Foundation," "Hikvision," or "Brother Industries" tells you what kind of box you are looking for, and often who would have plugged it in. Sometimes it tells you almost nothing, because "Intel Corporate" describes half the laptops in the building. And on modern phones and laptops it can mislead you outright, because most of them now invent a random MAC address for each Wi-Fi network they join, precisely so nobody can track them by it. You can spot a made-up address by its second character. If that character is 2, 6, A, or E, the address was generated by the device, and the vendor lookup will return nothing or nonsense. Treat the manufacturer as a clue about what to expect at the end of the chain, and keep walking. Our guide to rebuilding an inventory for an undocumented network uses the same trick in bulk, where a subnet full of camera vendors introduces itself without anyone having to explain it.
The third hop is where the address turns into a place, and it runs on a table every managed switch keeps automatically. A switch learns which MAC addresses live behind which of its ports by watching traffic, and it will show you that table on request. Ask it about your MAC address and it answers with a port number. If that port connects to a single desk, you are nearly done. Often, though, the port is an uplink, a cable to another switch, and the table shows dozens or hundreds of MAC addresses behind it, which means the device is somewhere downstream. Follow the uplink to the next switch and ask again. Repeat until you reach a port that lists one MAC address, or a small handful, which usually means a desk phone with a computer daisy-chained through it, or a little unmanaged switch hiding under a desk. One small annoyance: every vendor writes the same MAC address differently, with colons, dashes, or dots in different places, so reformat it to match whatever the switch expects before searching.
Hop three, on the switch
show mac address-table address a483.e72f.910c # Cisco IOS
show mac-address a483e7-2f910c # Aruba and HP ProCurve
show ethernet-switching table | match a4:83:e7 # Juniper
# A hit looks like: a483.e72f.910c DYNAMIC Gi1/0/24
show lldp neighbors # what sits on the far end of each port
Two small protocols make the uplink chase faster. LLDP (Link Layer Discovery Protocol), and its Cisco-only cousin CDP (Cisco Discovery Protocol), let network devices announce themselves to whatever is on the other end of each cable. A neighbors command tells you whether a given port leads to another switch, a wireless access point, or a phone, and what that device calls itself. That matters most for wireless, where the chain takes a detour. If the port your MAC address sits on leads to an AP (access point, the box that broadcasts Wi-Fi), the switch table has taken you as far as it can, and the next stop is the wireless controller or the AP's own client list. Search there for the MAC address and you get the client's name, the SSID (Service Set Identifier, the Wi-Fi network name) it joined, which AP it is on, and often a signal strength that says roughly how far from that AP it is sitting.
The last hop, from port to place, has no command, because it runs entirely on documentation somebody wrote earlier. A port description on the switch that reads "2F-EAST-JACK-14" or "AP-2F-EAST" turns a port number into a spot on a floor plan. A labeled patch panel does the same job in the wiring closet. When neither exists, the honest answer is that the hunt ends with a person tracing a cable by hand, and that person is you. At this hop the record you keep does the work that commands did on the earlier ones. Whatever you learn on the walk, put the MAC address on the address record, and put the switch, port, and room somewhere the next person will find them. In IPCraft that is the MAC address field plus a custom field on the address itself, the same place our guide to inheriting a network recommends noting the switch port a device hangs from, so the next hunt for 10.0.4.17 skips hops three and four entirely. Our post on naming conventions has more on which facts belong in a name and which belong in a description field.
Several sources sit beside the chain and can short-circuit it, provided you remember that each one is a hint, and hints need confirming. The DHCP (Dynamic Host Configuration Protocol) server, the service that hands out addresses to devices automatically, keeps a lease table listing IP address, MAC address, the name the device gave itself, and when the lease was granted, so a single search can leap from hop one to a hostname. Its blind spot is anything configured by hand, since a device with a static address never asked the DHCP server for anything, and our DHCP, static, or reservation guide explains why those two populations should live in separate ranges for this reason among others. The DNS (Domain Name System), which turns names into addresses, can also run backward: a PTR (pointer) record maps an address to a name, and a quick reverse lookup, on the command line or with our reverse DNS lookup tool for public addresses, may hand you "printer-2f-east" on the spot. Reverse records go stale the moment a device is retired and its address reused, which is why our post on keeping the IP inventory and DNS in sync exists, so treat that answer as a lead. If the network uses 802.1X, the port-based login standard behind "sign in with your company account" Wi-Fi, or a NAC (network access control) system, the authentication log ties the MAC address to a person's username, which is often the fastest route of all. And a plain browser is an underrated source. Open http://10.0.4.17 and a printer, camera, or router will usually greet you with a login page that announces its make and model.
Some hunts run out of hops. A device with a hand-typed address and a randomized MAC address on an unmanaged switch offers no lease, no vendor, and no port table, and the managed switch upstream shows that whole unmanaged switch's population on a single port. The remaining options are blunt and belong in a maintenance window. Unplug the candidates from that port one at a time while a second person watches the ping, and the one that makes the address go quiet is the one you want. Or run it in reverse: leave everything alone, keep watching the router's ARP table, and note the time the entry disappears, then ask who left or powered down at that moment. For a cleanup, silence is the evidence you need, and the same patient watch is how our renumbering playbook proves an old range is truly empty before it is removed. These methods work, and they cost an evening each, which is why they come after the chain, and why the chain rarely fails twice on the same network once the records are filled in.
Here is the whole method on one address. A conflict warning pops up on the second floor naming 10.0.4.17, the address of a shared printer. From a laptop on that subnet, a ping and an ARP check show one MAC address, and a second check a minute later shows a different one. The vendor lookup says the first belongs to HP, which matches the printer, and the second belongs to Intel, which matches roughly everything. The switch's MAC table places the Intel address on port 24 along with forty other addresses, and the port description reads "AP-2F-EAST". LLDP confirms a Ubiquiti access point on the far end, so the chase moves to the wireless controller, where the MAC address belongs to a client named DELL-CONTRACTOR on the corporate SSID. A walk to the east side of the second floor finds a visiting contractor whose laptop is set to a static address, copied from a previous site where 10.0.4.17 happened to be free. The fix is a thirty-second change on the laptop. The lesson lives in the record: the printer's entry now carries its MAC address and "SW2 port 11, 2F east copy room," and the contractor's laptop, which will be back next month, has an entry of its own in the pool it should have been drawing from all along.
Every hunt produces facts that were expensive to learn, and the only way to make the next one cheaper is to write them down where the address lives. Hostname, MAC address, the owner or team, the switch and port, the room, and the date you last saw the device alive all belong on the address record, in an IPAM (IP Address Management) system with a field for each, where a spreadsheet offers a cell that someone will eventually overwrite. IPCraft's scan reconcile feature keeps the "last seen" date current from a pasted ARP table or DHCP export, and flags a record whose MAC address no longer matches the one on the wire, which is the earliest possible warning that a new hunt is about to begin. Fill in the chain once, and the question "who has 10.0.4.17?" turns into a lookup instead of an afternoon.