IPAM records rot the moment reality drifts. Scan reconcile compares what's actually live on your network against what's documented — using tools you already have, with nothing to install and no agent to trust.
Applying a scan does three things:
assigned, with whatever hostname and MAC the scan providedEvery OS ships with ping and arp. A ping sweep populates your machine's ARP table; arp -a then dumps every neighbor with its MAC address. Run the one-liner for your OS, replacing 10.0.0 with your subnet's first three octets, then paste the whole output.
for i in {1..254}; do ping -c1 -t1 10.0.0.$i >/dev/null 2>&1 & done; wait; arp -a
for i in {1..254}; do ping -c1 -W1 10.0.0.$i >/dev/null 2>&1 & done; wait; ip neigh
1..254 | % { ping -n 1 -w 200 "10.0.0.$_" | Out-Null }; arp -a
These commands only send pings and read your machine's own neighbor table — nothing on the network is changed. They're short enough to read in full before running, which is the point: you never have to trust a downloaded binary.
If you have nmap installed, a ping-scan gives the richest output — hostnames, MAC addresses, and vendor names, and it handles any subnet size:
nmap -sn 10.0.0.0/24
Paste the normal output directly, or save XML and paste that instead (both are recognized):
nmap -sn -oX scan.xml 10.0.0.0/24
sudo on macOS/Linux to include MAC addresses (ARP scan needs raw sockets)Often the most accurate inventory already exists in your DHCP server — no scanning required. IPCraft understands the native lease formats directly:
cat /var/lib/misc/dnsmasq.leases
Paste the file contents as-is. Expired leases are skipped automatically.
cat /var/lib/dhcp/dhcpd.leases
The lease file is an append-log — an IP can appear several times. IPCraft folds duplicates and keeps only each lease's current state, importing only binding state active entries.
Paste the memfile lease CSV (e.g. /var/lib/kea/kea-leases4.csv). Declined and expired-reclaimed leases are skipped.
Get-DhcpServerv4Lease -ScopeId 10.0.0.0
Paste the table output directly. Rows in Active or ActiveReservation state are imported; expired and declined leases are skipped. Classic netsh dhcp server scope ... show clients output works too.
Export or copy your router's client list as CSV — any file with a recognizable IP column (plus optional MAC and hostname columns) is parsed, whatever the exact header names. Copy-pasting a status page table of IP MAC hostname rows also works.
| Paste | From | Provides |
|---|---|---|
arp -a | Windows, macOS, Linux | IP + MAC (+ hostname on macOS/Linux) |
ip neigh | Linux | IP + MAC, IPv4 and IPv6 |
ndp -an | macOS | IPv6 neighbors: IP + MAC |
nmap normal or XML (-oX) | any OS | IP + hostname + MAC |
| ping replies | any OS | IP liveness |
| dnsmasq / ISC dhcpd / Kea leases | DHCP servers | IP + MAC + hostname |
Get-DhcpServerv4Lease, netsh | Windows DHCP | IP + MAC + hostname |
| CSV with an IP column | router exports, spreadsheets | whatever the columns hold |
| bare list of IPs | anywhere | IP liveness |
Formats can be mixed in one paste — a ping loop followed by arp -a merges by IP, and junk lines are simply ignored.
arp -a only sees the subnet your machine is plugged into. For remote subnets, use nmap, a DHCP export, or run the one-liner from a machine on that segmentndp -an on macOS, ip -6 neigh on Linux, or use a DHCP exportReady to try it? Open a subnet in your dashboard and click Scan.