<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: DeviceShelf</title>
    <description>The latest articles on DEV Community by DeviceShelf (@deviceshelf).</description>
    <link>https://dev.to/deviceshelf</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4022828%2F92dc3100-4e93-49c8-b92e-e8436b77eb76.png</url>
      <title>DEV Community: DeviceShelf</title>
      <link>https://dev.to/deviceshelf</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/deviceshelf"/>
    <language>en</language>
    <item>
      <title>Why Your Router's Device List and a Network Scan Disagree</title>
      <dc:creator>DeviceShelf</dc:creator>
      <pubDate>Wed, 30 Sep 2026 09:00:04 +0000</pubDate>
      <link>https://dev.to/deviceshelf/why-your-routers-device-list-and-a-network-scan-disagree-172</link>
      <guid>https://dev.to/deviceshelf/why-your-routers-device-list-and-a-network-scan-disagree-172</guid>
      <description>&lt;p&gt;For example, you open your router's device list and count 18 clients. A scan of the same home network finds 14, or 23. Neither number is automatically wrong. The two tools answer different questions, at different times, and don't see the network the same way.&lt;/p&gt;

&lt;p&gt;Before treating an extra entry as an intruder or assuming a missing device is offline, it helps to understand that difference. A router usually keeps records of addresses it assigned or devices it learned about. A scanner sends traffic or checks local network information to see what's there. Both are useful. Neither gives you a complete, permanent inventory on its own.&lt;/p&gt;

&lt;p&gt;This guide is for a network you own or are authorized to administer. It covers common reasons the lists don't match, how to compare them without changing configuration, and what evidence to keep when a device needs investigation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The router's device list
&lt;/h2&gt;

&lt;p&gt;Labels such as &lt;strong&gt;Connected devices&lt;/strong&gt;, &lt;strong&gt;Network map&lt;/strong&gt;, &lt;strong&gt;DHCP clients&lt;/strong&gt;, and &lt;strong&gt;Known devices&lt;/strong&gt; can sound interchangeable. They aren't. A DHCP client list is mainly a record of address leases. DHCP defines how a client obtains and renews a configuration lease, and the router may keep that record until the lease expires. By then, the device may have gone to sleep, left the house, or switched networks. A remembered hostname or icon can outlast the connection it described. &lt;a href="https://www.rfc-editor.org/rfc/rfc2131.html" rel="noopener noreferrer"&gt;RFC 2131: Dynamic Host Configuration Protocol&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some routers also show clients learned from their Wi-Fi or Ethernet tables. Others put current and historical entries on the same screen. How this works depends on the router and firmware. Instead of relying on the total at the top of the page, look for a status indicator, last-seen time, connection type, IP address, and MAC address. An entry with no recent activity but a remaining lease is a clue about a past connection, not proof that the device is online now.&lt;/p&gt;

&lt;h2&gt;
  
  
  A network scan's view
&lt;/h2&gt;

&lt;p&gt;A local scanner usually looks for hosts that answer while the scan runs. On an Ethernet or Wi-Fi LAN, it may use ARP to ask which device owns an IPv4 address. Depending on the tool and its settings, it can also use ICMP, TCP, UDP, or protocol-specific discovery. Nmap's documentation treats host discovery as a separate step and explains that different probes get different kinds of responses. A quiet or filtered host can be missed by one scan and found by another. &lt;a href="https://nmap.org/book/host-discovery-techniques.html" rel="noopener noreferrer"&gt;Nmap: Host Discovery&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Where you run the scan matters too. A laptop on guest Wi-Fi may be deliberately separated from devices on the main LAN, and a scan from one VLAN may not reach another VLAN. A phone using mobile data or a VPN isn't necessarily probing the same path as the router. Before comparing results, check that the scanning device is on the intended local network. Note its address and network name.&lt;/p&gt;

&lt;p&gt;A scan doesn't ask a device to identify itself fully. The device might answer ARP but block ping, respond on one port but ignore another, or sleep between probes to save power. A scan can also find a router, access point, printer, NAS, or phone without finding a useful name for it. The result tells you what was observed at a particular time. It doesn't settle who owns a device or what it's for.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common reasons for different counts
&lt;/h2&gt;

&lt;p&gt;Timing is a good place to start. A phone may have joined Wi-Fi after the scan, or a tablet may have gone to sleep before it. Refresh the router page and run one new scan within a few minutes. A scan from today and a router screenshot from last week aren't a useful comparison.&lt;/p&gt;

&lt;p&gt;Then compare addresses rather than names. Router names often come from DHCP, a device hostname, or a label an administrator entered. A scanner may obtain hostnames through reverse DNS, mDNS, or NetBIOS, and manufacturer labels through a MAC vendor lookup. Those sources can disagree. They can also be missing or out of date. The MAC address and current IP address are more useful for matching entries, though privacy features still need care.&lt;/p&gt;

&lt;p&gt;Modern phones and laptops may use a private Wi-Fi address instead of their hardware MAC address. Apple documents that its devices can use a private Wi-Fi address per network to reduce tracking. If that address changes, a familiar phone can look like a new entry in the router's list. Don't block or delete an entry just because its vendor name is missing or its MAC address looks unfamiliar. Check the device's Wi-Fi settings first, including whether its private address was changed or reset. &lt;a href="https://support.apple.com/en-us/102509" rel="noopener noreferrer"&gt;Apple: Use private Wi-Fi addresses&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Scope matters as well. A mesh system may include a main router and several nodes, each with its own management address. A wired switch, access point, or virtualization host can expose more than one interface. Docker or other virtual networking can create addresses that mean something on the host but don't represent ordinary household devices. You don't need to force every entry into a one-to-one list. Record which entries represent infrastructure and which represent endpoints.&lt;/p&gt;

&lt;h2&gt;
  
  
  A comparison worksheet
&lt;/h2&gt;

&lt;p&gt;Use a short worksheet you can repeat:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Record the date, time, timezone, network name, and the device from which the scan runs.&lt;/li&gt;
&lt;li&gt;Export or screenshot the router list if the interface supports it. Otherwise, record the current IP, MAC, connection type, and last-seen value for each uncertain entry.&lt;/li&gt;
&lt;li&gt;Run one local scan and save its timestamped result. Don't run repeated aggressive probes just to make the count match.&lt;/li&gt;
&lt;li&gt;Match entries by current IP and MAC address first. Use names and vendor information as supporting clues.&lt;/li&gt;
&lt;li&gt;Mark each mismatch as “router only,” “scan only,” “renamed,” “private address possible,” or “needs confirmation.”&lt;/li&gt;
&lt;li&gt;Confirm an important unknown entry from a second source, such as a switch port, Wi-Fi access-point association, or the device's own network settings.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This gives you a calmer way to assess the differences than guessing from a count. A router-only entry whose last-seen time looks old is different from a scan-only device answering right now. An unfamiliar MAC address present in both views gives you stronger grounds to investigate. Even then, it could be a phone using a private address, a recently added smart device, or managed infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Unfamiliar devices that need action
&lt;/h2&gt;

&lt;p&gt;If a device is active in both views and you can't account for it, save the evidence before changing anything: current time, IP, MAC, connection type, router or access-point name, and any hostname. Check your own phones, tablets, media devices, work equipment, guests, and smart-home hardware. Ask household members before assuming the connection is unauthorized.&lt;/p&gt;

&lt;p&gt;Before blocking a device or changing the Wi-Fi passphrase, identify the device you use to administer the router and your network infrastructure, and test an alternative connection to the router's management interface. Blocking the wrong entry can disrupt legitimate devices or cut off your management access. Expect Wi-Fi devices to need reconnection after a passphrase change. If you still can't identify it, use the router's normal access controls to remove or block the device. Then change the Wi-Fi passphrase if that's appropriate for your network, and reconnect known devices deliberately. Security changes vary by router. Follow its current documentation instead of using commands copied for another model. A single network scan can't establish who used a device or why it appeared.&lt;/p&gt;

&lt;p&gt;For ongoing inventory checks, DeviceShelf is one local option that can discover devices and keep an inventory for comparison over time. Use it as another record alongside the router's information. A stale lease, an unclear hostname, or a sleeping device will still need some explanation. &lt;a href="https://deviceshelf.app/" rel="noopener noreferrer"&gt;Product website&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A baseline for future comparisons
&lt;/h2&gt;

&lt;p&gt;Once you've matched the ordinary devices, set a simple routine for maintaining the inventory. Keep the device name, owner or location if appropriate, MAC address, normal IP behavior, and the reason you recognize it. Update the inventory when you add a camera, printer, NAS, access point, or guest network. Don't publish unredacted screenshots. Internal hostnames, addresses, and device names can reveal more about a home or small office than you intended.&lt;/p&gt;

&lt;p&gt;The next time the router and scanner disagree, start with that baseline and the timestamps. Instead of an alarming count, you'll have a specific question: “why does this address appear now?” or “why is this known NAS not answering?” That's usually enough to decide whether to wait for a sleeping device, correct a label, inspect network segmentation, or take a security action.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources checked
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.rfc-editor.org/rfc/rfc2131.html" rel="noopener noreferrer"&gt;RFC 2131: Dynamic Host Configuration Protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nmap.org/book/host-discovery-techniques.html" rel="noopener noreferrer"&gt;Nmap: Host Discovery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.apple.com/en-us/102509" rel="noopener noreferrer"&gt;Apple: Use private Wi-Fi addresses&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://deviceshelf.app/" rel="noopener noreferrer"&gt;Product website&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>tutorial</category>
      <category>networking</category>
      <category>homelab</category>
      <category>selfhosted</category>
    </item>
    <item>
      <title>Unknown device on your network? How to identify it, step by step</title>
      <dc:creator>DeviceShelf</dc:creator>
      <pubDate>Tue, 22 Sep 2026 09:00:06 +0000</pubDate>
      <link>https://dev.to/deviceshelf/unknown-device-on-your-network-how-to-identify-it-step-by-step-4a1n</link>
      <guid>https://dev.to/deviceshelf/unknown-device-on-your-network-how-to-identify-it-step-by-step-4a1n</guid>
      <description>&lt;p&gt;You open your router's device list, or a scanner app, and there it is: an entry you can't place. An IP address, maybe a cryptic name, and no idea whether it's your smart plug or your neighbor's laptop. Before you panic (or worse, ignore it), work through these steps. Most "intruders" turn out to be your own hardware.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Look up the MAC vendor first
&lt;/h2&gt;

&lt;p&gt;Every network card carries a MAC address, and its first half identifies the manufacturer. &lt;code&gt;A4:CF:12:…&lt;/code&gt; resolves to Espressif, which almost always means a smart-home gadget; Apple, Samsung or Amazon prefixes narrow things down fast. Your router shows the MAC next to each device, and any OUI lookup site translates it.&lt;/p&gt;

&lt;p&gt;One catch has gotten bigger in recent years: phones and laptops now use &lt;strong&gt;randomized MAC addresses&lt;/strong&gt; per Wi-Fi network by default. Those show up with a "locally administered" prefix and resolve to no vendor at all. An unknown MAC with no manufacturer is far more likely someone's iPhone with a private address than an attacker.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Check the hostname
&lt;/h2&gt;

&lt;p&gt;A device that calls itself &lt;code&gt;MacBook-Pro-von-Lisa&lt;/code&gt; or &lt;code&gt;HS110&lt;/code&gt; has identified itself already. Hostnames come from DHCP or mDNS and are visible in the router list or a scanner. No hostname? Not suspicious by itself: plenty of IoT devices simply don't announce one.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Let its services talk
&lt;/h2&gt;

&lt;p&gt;This is where it usually clicks. Devices advertise what they are: a printer speaks IPP on port 631, a camera streams RTSP on 554, a NAS offers SMB on 445, a smart speaker announces itself via mDNS as &lt;code&gt;_airplay&lt;/code&gt; or &lt;code&gt;_googlecast&lt;/code&gt;. Checking open ports and mDNS/SSDP announcements identifies the majority of devices beyond doubt.&lt;/p&gt;

&lt;p&gt;You can do this by hand with &lt;code&gt;nmap&lt;/code&gt; if the terminal is your thing. Or let a scanner do all of the above in one pass: &lt;a href="https://deviceshelf.app/" rel="noopener noreferrer"&gt;DeviceShelf&lt;/a&gt; combines MAC vendor, hostname, ports, mDNS/SSDP and a fingerprint database into a plain-language guess of what each device is. And it runs locally, without an account.&lt;/p&gt;

&lt;p&gt;If you're on a Mac, note that macOS ships without a scanner of its own. We compared &lt;a href="https://deviceshelf.app/network-scanner-mac" rel="noopener noreferrer"&gt;nine that run on macOS&lt;/a&gt;, three of them free.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. The process of elimination
&lt;/h2&gt;

&lt;p&gt;Still unclear? Turn off the suspect candidates one by one: smart plugs, e-readers, the TV, the robot vacuum. Watch which entry goes offline. Tedious, but it settles the question. A monitoring scanner also shows the moment a device drops off, so you don't have to keep refreshing the router page.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. If it really doesn't belong to you
&lt;/h2&gt;

&lt;p&gt;Found a device that is genuinely not yours after all that? Then act in this order:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Change the Wi-Fi password.&lt;/strong&gt; That kicks every device off the network; only those with the new key come back. Use WPA2/WPA3 with a long passphrase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check your router's guest network&lt;/strong&gt; — a forgotten open guest Wi-Fi is the most common entry point.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Disable WPS&lt;/strong&gt; if it is still on; the PIN method is a known weak spot.&lt;/li&gt;
&lt;li&gt;Re-scan afterwards and compare: everything you recognize should be back, and the stranger should be gone.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Get told about the next one automatically
&lt;/h2&gt;

&lt;p&gt;The uncomfortable truth about a manual check: it only covers today. The unknown device you find next month has been on the network since whenever. This is what continuous monitoring is for — DeviceShelf watches your network in the background and sends a notification the moment a new device joins, so the next unknown entry announces itself. There is a &lt;a href="https://deviceshelf.app/#download" rel="noopener noreferrer"&gt;free 7-day trial&lt;/a&gt;, no account needed.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>security</category>
      <category>networking</category>
      <category>homelab</category>
    </item>
    <item>
      <title>Run a watchdog that doesn't live in the cloud it watches</title>
      <dc:creator>DeviceShelf</dc:creator>
      <pubDate>Sun, 20 Sep 2026 09:00:04 +0000</pubDate>
      <link>https://dev.to/deviceshelf/run-a-watchdog-that-doesnt-live-in-the-cloud-it-watches-2295</link>
      <guid>https://dev.to/deviceshelf/run-a-watchdog-that-doesnt-live-in-the-cloud-it-watches-2295</guid>
      <description>&lt;p&gt;The big outages of late 2025 had a pattern. When AWS's us-east-1 went down in October, and Cloudflare followed in November, plenty of teams learned that their monitoring lived on the same infrastructure as the things it monitored. Status pages lagged. Alerting SaaS tools were unreachable. For an hour or two, the honest answer to "what exactly is broken?" was a shrug.&lt;/p&gt;

&lt;p&gt;The fix is old-fashioned and cheap: keep one monitor that depends on nothing but a box in your own building. It won't tell you why a hyperscaler is on fire, but it will tell you, from the outside, what is reachable and what isn't, while everyone else refreshes a stale status page.&lt;/p&gt;

&lt;p&gt;What such a watchdog should check, roughly in this order:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Your internet uplink&lt;/strong&gt;, against more than one anchor, so a single provider blip doesn't page you.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DNS&lt;/strong&gt; for the domains you depend on.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your public services&lt;/strong&gt;, with real HTTP assertions (status code, a keyword in the body), not just "port 443 answers".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TLS certificates and domain expiry&lt;/strong&gt;, the two outages everyone causes themselves.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The local infrastructure&lt;/strong&gt; the cloud can't see anyway: containers, the hypervisor, the NAS that quietly lost a disk, temperatures.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Any self-hosted monitor covers some of this list. Uptime Kuma does the uptime part well and is free; Zabbix does all of it if you bring the time to build it. &lt;a href="https://dev.to/server"&gt;DeviceShelf Server&lt;/a&gt; is our take: one Docker container that discovers the network by itself, runs the checks above out of the box, and alerts through whatever channel you already use. Since 1.6.0 it also watches Docker, Proxmox, NAS health and hardware temperatures. There's an honest &lt;a href="https://dev.to/compare#server"&gt;side-by-side with Kuma, PRTG and Zabbix&lt;/a&gt; if you want to pick for yourself.&lt;/p&gt;

&lt;p&gt;Whichever tool you choose: put it on hardware you own, give it its own notification path, and let it be the one thing in your stack that has never heard of us-east-1.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>monitoring</category>
      <category>selfhosted</category>
      <category>networking</category>
    </item>
    <item>
      <title>Get notified when a new device joins your Wi-Fi</title>
      <dc:creator>DeviceShelf</dc:creator>
      <pubDate>Fri, 18 Sep 2026 09:00:07 +0000</pubDate>
      <link>https://dev.to/deviceshelf/get-notified-when-a-new-device-joins-your-wi-fi-29l7</link>
      <guid>https://dev.to/deviceshelf/get-notified-when-a-new-device-joins-your-wi-fi-29l7</guid>
      <description>&lt;p&gt;Sooner or later everyone with their own Wi-Fi asks the same question: would I actually notice if a stranger joined? For most people the honest answer is no. The router's device list gets looked at once a year. A notification at the moment a device joins fixes exactly that. Here's how to set one up, with what your router already has or with a scanner.&lt;/p&gt;

&lt;h2&gt;
  
  
  What routers offer out of the box
&lt;/h2&gt;

&lt;p&gt;Some routers ship with this. AVM's FRITZ!Box can send a &lt;strong&gt;push email&lt;/strong&gt; when a new device logs in (Internet → Push Service → Wi-Fi). UniFi controllers flag new clients in the app once you enable the notification. Many other consumer routers simply have nothing of the sort — then it's the device list, checked by hand.&lt;/p&gt;

&lt;p&gt;The router route has two limits. First, it only reports Wi-Fi logins at that router: anything joining over Ethernet, a second access point or a mesh node may not show up at all, depending on the model. Second, it only tells you &lt;em&gt;that&lt;/em&gt; something new arrived — not &lt;em&gt;what&lt;/em&gt; it is.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem with randomized MAC addresses
&lt;/h2&gt;

&lt;p&gt;Before you set up alerts, one expectation to calibrate: modern phones use a &lt;strong&gt;randomized MAC address&lt;/strong&gt; per Wi-Fi network by default, and iPhones can even rotate it periodically in networks they don't trust. For detection this means the same device can come back as a "new device", even though it's your own tablet.&lt;/p&gt;

&lt;p&gt;Every solution has to live with that, router or scanner. Two things help in practice: turn off the private address for your home network on your own devices (configurable per network on the iPhone), and limit alerts to &lt;em&gt;unknown&lt;/em&gt; devices rather than &lt;em&gt;every&lt;/em&gt; new MAC.&lt;/p&gt;

&lt;h2&gt;
  
  
  Alerts with a network scanner
&lt;/h2&gt;

&lt;p&gt;A scanner with monitoring watches the whole network instead of just Wi-Fi logins: it also sees wired devices, second access points and everything behind mesh nodes, and it identifies the newcomer right away (vendor, type, open ports, name).&lt;/p&gt;

&lt;p&gt;With &lt;a href="https://deviceshelf.app/" rel="noopener noreferrer"&gt;DeviceShelf&lt;/a&gt; it works like this: the desktop app monitors the network while your computer is on and raises a notification for new or returning devices. If you want no gaps, run the &lt;a href="https://deviceshelf.app/server" rel="noopener noreferrer"&gt;server edition&lt;/a&gt; on a Raspberry Pi, NAS or mini PC around the clock. It sends alerts over &lt;strong&gt;email, ntfy, Gotify or webhooks&lt;/strong&gt;, even with every computer asleep.&lt;/p&gt;

&lt;p&gt;For the devices you own, you mark everything as "belongs here" once; from then on, only genuine strangers make noise.&lt;/p&gt;

&lt;h2&gt;
  
  
  Alerts that don't wear you down
&lt;/h2&gt;

&lt;p&gt;The biggest risk in this setup isn't technical, it's fatigue: get a message for every event and you'll ignore all of them within two weeks. A few rules that hold up:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Alert on joins, not on every come and go.&lt;/strong&gt; Your phone leaving the Wi-Fi at night is not news.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Batch into a digest&lt;/strong&gt; when several events pile up. Otherwise one access point reboot fills your inbox.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mute known devices.&lt;/strong&gt; The robot vacuum may reappear daily without a beep.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;DeviceShelf does this by batching events into a digest and routing by severity: an unknown device is a different message than a known one that was briefly offline.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Enable router push if yours has it (FRITZ!Box: Push Service). Better than nothing.&lt;/li&gt;
&lt;li&gt;For real coverage, use a scanner with monitoring that also sees wired and mesh devices.&lt;/li&gt;
&lt;li&gt;Plan for randomized MACs: private addresses off at home, alerts limited to unknowns.&lt;/li&gt;
&lt;li&gt;Set up digests and muting so the one message that matters doesn't drown.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>tutorial</category>
      <category>security</category>
      <category>networking</category>
      <category>homelab</category>
    </item>
    <item>
      <title>How to Find Every IoT Device on Your Network</title>
      <dc:creator>DeviceShelf</dc:creator>
      <pubDate>Wed, 16 Sep 2026 13:56:53 +0000</pubDate>
      <link>https://dev.to/deviceshelf/how-to-find-every-iot-device-on-your-network-4eb</link>
      <guid>https://dev.to/deviceshelf/how-to-find-every-iot-device-on-your-network-4eb</guid>
      <description>&lt;p&gt;To find every smart-home device on your network, scan the whole subnet and match each result on three signals: the MAC vendor (OUI), the mDNS/SSDP services the device announces, and its open ports. IoT gadgets rarely offer a useful hostname, so those three fingerprints do the identifying that a name usually would.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why IoT devices are so hard to spot
&lt;/h2&gt;

&lt;p&gt;A laptop tells you what it is. A €9 smart plug does not. Most cheap connected hardware ships without a meaningful hostname, so your router list fills up with blanks, IP addresses, or a generic string like &lt;code&gt;ESP_A1B2C3&lt;/code&gt;. The chipsets underneath are shared across hundreds of brands, which is both the problem and the solution: a plug, a bulb and a doorbell might all run the same Espressif or Tuya module, so they look identical at first glance but carry a very recognizable vendor prefix.&lt;/p&gt;

&lt;p&gt;Randomized MAC addresses muddy this further. Phones and tablets rotate their MAC per network, and some newer IoT firmware borrows the trick. A locally administered address that resolves to no vendor is usually a phone, not a rogue camera. Knowing that saves you from chasing ghosts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with the MAC vendor (OUI)
&lt;/h2&gt;

&lt;p&gt;The first three bytes of a MAC address are the Organizationally Unique Identifier, and they name the manufacturer of the network chip. This is the single most useful signal for IoT. Prefixes owned by Espressif (&lt;code&gt;A4:CF:12&lt;/code&gt;, &lt;code&gt;24:0A:C4&lt;/code&gt; and many more), Tuya, Sonoff/Itead, Shelly, Amazon, Google and Roku account for a large share of consumer smart-home gear. Your router shows the MAC beside each lease; any OUI lookup table turns it into a vendor name.&lt;/p&gt;

&lt;p&gt;The vendor rarely tells you the exact model, but it narrows the field hard. An Espressif prefix means you are looking at a plug, sensor, bulb or DIY board, not a printer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let mDNS and SSDP announcements do the work
&lt;/h2&gt;

&lt;p&gt;Here is where identification usually clicks. Well-behaved devices announce their services on the network, and those announcements are self-describing. A Chromecast or Google speaker broadcasts &lt;code&gt;_googlecast._tcp&lt;/code&gt; over mDNS. Apple TVs and HomePods answer to &lt;code&gt;_airplay&lt;/code&gt; and &lt;code&gt;_raop&lt;/code&gt;. Printers advertise &lt;code&gt;_ipp&lt;/code&gt;. Smart TVs, media receivers and many cameras respond to SSDP (&lt;code&gt;M-SEARCH&lt;/code&gt;) with a device description URL that spells out make and model in plain text.&lt;/p&gt;

&lt;p&gt;You can listen for these by hand. On macOS or Linux, &lt;code&gt;dns-sd -B _services._dns-sd._udp&lt;/code&gt; or &lt;code&gt;avahi-browse -a&lt;/code&gt; enumerates mDNS responders; &lt;code&gt;nmap&lt;/code&gt; has SSDP and mDNS discovery scripts. Between the vendor prefix and a service announcement, most IoT devices identify themselves without any guesswork.&lt;/p&gt;

&lt;h2&gt;
  
  
  Open ports are a fingerprint too
&lt;/h2&gt;

&lt;p&gt;Silent devices that announce nothing still expose services. An &lt;code&gt;nmap -sV&lt;/code&gt; sweep against a suspect IP reveals what it is running: RTSP on 554 points to a camera, a stripped-down web server on 80 or 8080 is a typical plug or bridge admin page, MQTT on 1883 suggests a hub, and Telnet on 23 is a red flag on any modern gadget. The combination of open ports plus vendor is often enough to name a device the mDNS pass missed.&lt;/p&gt;

&lt;p&gt;Doing all of this manually across a &lt;code&gt;/24&lt;/code&gt; is slow. A local scanner collapses the passes into one: &lt;a href="https://deviceshelf.app/" rel="noopener noreferrer"&gt;DeviceShelf&lt;/a&gt; reads the MAC vendor, hostname, mDNS/SSDP announcements and open ports in a single sweep, then labels each device by type. It runs on your machine with no account and no telemetry. If you have compared it against Fing or LanScan, the &lt;a href="https://deviceshelf.app/compare" rel="noopener noreferrer"&gt;feature-by-feature comparison&lt;/a&gt; and the &lt;a href="https://deviceshelf.app/fing-alternative" rel="noopener noreferrer"&gt;Fing alternative page&lt;/a&gt; lay out where a local-first scanner differs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the inventory matters: guest VLAN candidates
&lt;/h2&gt;

&lt;p&gt;An IoT inventory is not busywork. Cheap connected hardware is patched rarely, ships with default credentials often, and sometimes phones home over ports you would never open on purpose. Once you know which devices are plugs, bulbs and cameras, the practical move is to isolate them: put IoT on a separate SSID or VLAN that has internet access but cannot reach your laptops, NAS or phones. If a camera firmware is ever compromised, the blast radius stops at the guest segment.&lt;/p&gt;

&lt;p&gt;That segmentation only works if the list stays current. New gadgets arrive; old ones get re-flashed. DeviceShelf watches the network in the background and alerts you when a device you have not seen before joins, so the inventory maintains itself instead of going stale the day after you build it. There is a &lt;a href="https://deviceshelf.app/#download" rel="noopener noreferrer"&gt;free 7-day trial&lt;/a&gt;, no account needed.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>iot</category>
      <category>security</category>
      <category>networking</category>
    </item>
    <item>
      <title>Network scanner for Linux, from the terminal or a GUI</title>
      <dc:creator>DeviceShelf</dc:creator>
      <pubDate>Mon, 31 Aug 2026 09:00:02 +0000</pubDate>
      <link>https://dev.to/deviceshelf/network-scanner-for-linux-from-the-terminal-or-a-gui-cki</link>
      <guid>https://dev.to/deviceshelf/network-scanner-for-linux-from-the-terminal-or-a-gui-cki</guid>
      <description>&lt;p&gt;On Linux you can scan your LAN two ways. From the terminal, &lt;code&gt;nmap&lt;/code&gt; and &lt;code&gt;arp-scan&lt;/code&gt; hand you a full host list, open ports and MAC vendors in seconds. A GUI makes sense once you'd rather read and sort results than re-type flags. Either route needs root or a &lt;code&gt;setcap&lt;/code&gt; grant for the deeper probes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scanning your LAN from the terminal
&lt;/h2&gt;

&lt;p&gt;Start with a fast sweep of who is alive. &lt;code&gt;arp-scan&lt;/code&gt; is the bluntest tool for a local subnet because it works at layer 2 and returns the MAC vendor for free:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;arp-scan &lt;span class="nt"&gt;--localnet&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That gives you IP, MAC and a vendor guess from the OUI (the first half of the MAC, which identifies the manufacturer). For a subnet &lt;code&gt;nmap&lt;/code&gt; doesn't need root to do, a ping sweep:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nmap &lt;span class="nt"&gt;-sn&lt;/span&gt; 192.168.1.0/24
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To see open ports and services on a host, go deeper. This is where the useful detail lives, because a printer speaking IPP on 631 or a NAS offering SMB on 445 tells you what a device actually is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;nmap &lt;span class="nt"&gt;-sS&lt;/span&gt; &lt;span class="nt"&gt;-sV&lt;/span&gt; &lt;span class="nt"&gt;--top-ports&lt;/span&gt; 100 192.168.1.0/24
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For hostnames, &lt;code&gt;nmap&lt;/code&gt; already resolves DNS. mDNS names (the &lt;code&gt;.local&lt;/code&gt; ones Apple and Chromecast devices announce) need &lt;code&gt;avahi-browse -a&lt;/code&gt;, and NetBIOS names come from &lt;code&gt;nmblookup&lt;/code&gt;. Piecing those three together by hand is the tedious part.&lt;/p&gt;

&lt;h2&gt;
  
  
  When a GUI helps
&lt;/h2&gt;

&lt;p&gt;The terminal is fine for a one-off. It gets old when you want to watch a network over time, sort devices by vendor, or hand the result to someone who doesn't live in a shell. A GUI is worth it when you need presence monitoring (which device dropped off, which one is new), a topology view, or a security summary you don't have to assemble from four commands. Zenmap covers the nmap-visualisation case; it stops there.&lt;/p&gt;

&lt;h2&gt;
  
  
  What permissions does a Linux scanner need?
&lt;/h2&gt;

&lt;p&gt;Raw packet capture and SYN scans need elevated rights on Linux. Running everything with &lt;code&gt;sudo&lt;/code&gt; works but is heavy-handed. The cleaner approach is a file capability, which grants one binary the specific privilege without making it root:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;setcap cap_net_raw,cap_net_admin&lt;span class="o"&gt;=&lt;/span&gt;eip /path/to/binary
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;cap_net_raw&lt;/code&gt; lets a process open raw sockets for ARP and SYN scanning; &lt;code&gt;cap_net_admin&lt;/code&gt; covers interface-level operations. Without one of these, a scanner falls back to a plain TCP connect scan, which is slower, noisier and misses the MAC layer. Any Linux network scanner runs into this, so it's worth understanding rather than reflexively reaching for &lt;code&gt;sudo&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Running DeviceShelf natively on Linux
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://deviceshelf.app/" rel="noopener noreferrer"&gt;DeviceShelf&lt;/a&gt; is a local-first scanner that does the terminal work in one pass and keeps the result. It resolves MAC vendor, hostname (DNS, mDNS and NetBIOS together), an OS and device-type guess, open ports and services, then rolls a prioritized security report on top: exposed Telnet or RDP, default-credential checks, risk scores. It also keeps watching, so a new device on the LAN triggers an alert instead of waiting for your next manual scan.&lt;/p&gt;

&lt;p&gt;It ships as an &lt;strong&gt;AppImage&lt;/strong&gt;, a &lt;strong&gt;&lt;code&gt;.deb&lt;/code&gt;&lt;/strong&gt; and an &lt;strong&gt;&lt;code&gt;.rpm&lt;/code&gt;&lt;/strong&gt;, so it runs on Debian, Ubuntu, Fedora and most of what's downstream. The &lt;a href="https://deviceshelf.app/linux" rel="noopener noreferrer"&gt;Linux install page&lt;/a&gt; has the packages and the one &lt;code&gt;setcap&lt;/code&gt; line to enable full capture. There's also a headless server edition (Docker or a systemd service) if you want a homelab box scanning around the clock. No account, no telemetry, and the license check works offline.&lt;/p&gt;

&lt;p&gt;If you're weighing it against nmap, Fing or Angry IP Scanner, the &lt;a href="https://deviceshelf.app/compare" rel="noopener noreferrer"&gt;comparison page&lt;/a&gt; lays out what each one does and doesn't do. The same comparison for macOS, where the built-in options are thinner: &lt;a href="https://deviceshelf.app/network-scanner-mac" rel="noopener noreferrer"&gt;network scanners for the Mac&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can try the full version on your own network first: there's a &lt;a href="https://deviceshelf.app/#download" rel="noopener noreferrer"&gt;free 7-day trial, no account needed&lt;/a&gt;. One-time €59 after that, no subscription.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>linux</category>
      <category>security</category>
      <category>networking</category>
    </item>
    <item>
      <title>How to scan and identify every device on your Windows LAN</title>
      <dc:creator>DeviceShelf</dc:creator>
      <pubDate>Sat, 29 Aug 2026 09:00:04 +0000</pubDate>
      <link>https://dev.to/deviceshelf/how-to-scan-and-identify-every-device-on-your-windows-lan-4ac4</link>
      <guid>https://dev.to/deviceshelf/how-to-scan-and-identify-every-device-on-your-windows-lan-4ac4</guid>
      <description>&lt;p&gt;To scan a network on Windows, start with what ships in the box: &lt;code&gt;arp -a&lt;/code&gt; lists the IP and MAC of every device your PC has recently talked to, and &lt;code&gt;Get-NetNeighbor&lt;/code&gt; in PowerShell does the same with more detail. Both are instant and free. Neither tells you &lt;em&gt;what&lt;/em&gt; those devices are. For names, vendors, open ports, and a security view you need a real scanner.&lt;/p&gt;

&lt;p&gt;On a Mac the command-line half still works (&lt;code&gt;arp -a&lt;/code&gt; is there too), but there has been no bundled graphical scanner since Network Utility was removed. We looked at &lt;a href="https://deviceshelf.app/network-scanner-mac" rel="noopener noreferrer"&gt;nine that do run on macOS&lt;/a&gt; separately.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Windows already gives you
&lt;/h2&gt;

&lt;p&gt;Open a terminal and run &lt;code&gt;arp -a&lt;/code&gt;. You get a table of IP addresses paired with MAC addresses for hosts in your ARP cache. It's the fastest possible answer to "what's on my network right now", but it only shows devices your machine has recently exchanged traffic with, so it misses quiet ones.&lt;/p&gt;

&lt;p&gt;PowerShell goes a step further:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;Get-NetNeighbor&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-AddressFamily&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;IPv4&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Where-Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;State&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-ne&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Unreachable"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To force devices to appear, ping the whole subnet first so the ARP cache fills:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;..&lt;/span&gt;&lt;span class="mi"&gt;254&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ForEach-Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Test-Connection&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Count&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-TimeoutSeconds&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"192.168.1.&lt;/span&gt;&lt;span class="bp"&gt;$_&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-ErrorAction&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;SilentlyContinue&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The third free option is your router. Log into its admin page (usually &lt;code&gt;192.168.1.1&lt;/code&gt;) and open the DHCP client or connected-devices list. It sees everything that asked for a lease, including devices your PC never contacted. The catch is that router lists are often stale and label everything by hostname or a bare MAC, so a smart plug and a security camera look identical.&lt;/p&gt;

&lt;h2&gt;
  
  
  Turning a MAC address into a real device name
&lt;/h2&gt;

&lt;p&gt;A raw scan gives you numbers. Identification is the work of turning &lt;code&gt;a4:cf:12:...&lt;/code&gt; into "TP-Link smart plug". The first three bytes of a MAC are the OUI, an IEEE-assigned vendor code, so you can look up the manufacturer against the public OUI registry. Names come from a mix of reverse DNS, mDNS/Bonjour, and NetBIOS queries. Rolling that yourself is fiddly; it's exactly what dedicated scanners automate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free GUI scanners and where they stop
&lt;/h2&gt;

&lt;p&gt;Advanced IP Scanner, Angry IP Scanner, and SoftPerfect are the usual free picks on Windows, and for a quick sweep they're fine. Where they tend to stop is depth. Most give you IP, MAC, hostname, and a vendor guess, then leave you there. They don't score which open ports are risky, they don't flag a device still answering on Telnet or exposing RDP, and they don't keep watching after the scan finishes. If you've outgrown that, the &lt;a href="https://deviceshelf.app/advanced-ip-scanner-alternative" rel="noopener noreferrer"&gt;Advanced IP Scanner alternative&lt;/a&gt; rundown lays out what a deeper tool adds.&lt;/p&gt;

&lt;h2&gt;
  
  
  Live per-device bandwidth needs Npcap
&lt;/h2&gt;

&lt;p&gt;One thing worth knowing before you expect too much: measuring how much bandwidth each device is using in real time requires packet capture, and on Windows that means the &lt;a href="https://npcap.com/" rel="noopener noreferrer"&gt;Npcap&lt;/a&gt; driver installed. No capture driver, no live per-device throughput. Any scanner promising bandwidth without it is estimating, not measuring. &lt;a href="https://deviceshelf.app/" rel="noopener noreferrer"&gt;DeviceShelf&lt;/a&gt; prompts to install Npcap on first run for exactly this reason, and works without it for everything except live traffic graphs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where DeviceShelf fits on Windows
&lt;/h2&gt;

&lt;p&gt;DeviceShelf runs as a native Windows app and does the identification, port enumeration, and security scoring in one pass. It discovers every device, resolves vendor and hostname, guesses OS and device type, lists open ports and services, and produces a prioritized report that flags exposed services, default-credential risks, and CVE hints. It keeps monitoring after the first scan, so a new device joining triggers an alert instead of going unnoticed. If you want a feature-by-feature look against the free tools, the &lt;a href="https://deviceshelf.app/compare" rel="noopener noreferrer"&gt;comparison page&lt;/a&gt; covers it honestly.&lt;/p&gt;

&lt;p&gt;It's local-first: no account, no telemetry, the license check works offline. There's a &lt;a href="https://deviceshelf.app/#download" rel="noopener noreferrer"&gt;free 7-day trial with no account needed&lt;/a&gt; if you want to run it against your own network before deciding. A license is a one-time €59, not a subscription.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;p&gt;Start with &lt;code&gt;arp -a&lt;/code&gt; and your router page to see what's there. Move to a GUI scanner when you want names and ports without typing. Reach for a monitoring tool when identification depth, a security view, and new-device alerts matter more than a one-off list. And remember that live bandwidth on Windows always needs Npcap underneath.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>windows</category>
      <category>security</category>
      <category>networking</category>
    </item>
    <item>
      <title>Is an open port dangerous? Which ones actually matter</title>
      <dc:creator>DeviceShelf</dc:creator>
      <pubDate>Thu, 27 Aug 2026 09:00:03 +0000</pubDate>
      <link>https://dev.to/deviceshelf/is-an-open-port-dangerous-which-ones-actually-matter-ao7</link>
      <guid>https://dev.to/deviceshelf/is-an-open-port-dangerous-which-ones-actually-matter-ao7</guid>
      <description>&lt;p&gt;An open port on its own is not a vulnerability. It means a program is listening for connections on that number. Whether it matters comes down to two things: what service sits behind it, and who can reach it. Open only inside your LAN, most ports are harmless. Exposed to the internet on an outdated or unauthenticated service, they become the way in.&lt;/p&gt;

&lt;h2&gt;
  
  
  What an open port actually is
&lt;/h2&gt;

&lt;p&gt;When a device offers a service, such as file sharing, a web admin panel, or remote desktop, it binds to a TCP or UDP port and waits for connections. Port 443 serves HTTPS, 22 is SSH, 445 is Windows file sharing. A scanner reports a port as "open" when something answers on it; "closed" or "filtered" means nothing responded. The number itself is just a label. The software behind it is what can be attacked.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which open ports are genuinely risky
&lt;/h2&gt;

&lt;p&gt;Not every open port carries equal weight. A short watchlist worth checking first:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Telnet (23)&lt;/strong&gt; sends everything, passwords included, in cleartext. There is no safe reason to run it. Replace it with SSH.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RDP (3389)&lt;/strong&gt; is remote desktop, a constant brute-force and ransomware target. Never expose it directly to the internet; put it behind a VPN.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SMB (445)&lt;/strong&gt; is Windows file sharing, the vector behind WannaCry. Fine on a trusted LAN, dangerous on the open internet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unauthenticated web panels&lt;/strong&gt; on routers, cameras, NAS boxes and printers, still running default or blank admin passwords.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exposed databases&lt;/strong&gt; like MongoDB (27017), Redis (6379) or Elasticsearch (9200) bound to &lt;code&gt;0.0.0.0&lt;/code&gt; with no authentication. Entire breaches have started here.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to check what's really listening
&lt;/h2&gt;

&lt;p&gt;Knowing a port is open is half the picture. You want the service and version behind it. &lt;code&gt;nmap&lt;/code&gt; does this with the &lt;code&gt;-sV&lt;/code&gt; flag:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nmap &lt;span class="nt"&gt;-sV&lt;/span&gt; 192.168.1.0/24
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This scans the subnet and probes each open port to name the service and, often, its version. A result like &lt;code&gt;445/tcp open microsoft-ds Samba smbd 4.15&lt;/code&gt; tells you far more than "445 open," and an old version is your cue to check for known CVEs.&lt;/p&gt;

&lt;p&gt;Running nmap across a whole network and reading the raw output takes patience. &lt;a href="https://deviceshelf.app/" rel="noopener noreferrer"&gt;DeviceShelf&lt;/a&gt; does the same enumeration in one pass and adds a plain-language risk report per device: it flags exposed services like Telnet and RDP, runs default-credential checks, and hints at relevant CVEs. It works locally, with no account. If you're weighing it against other tools, the &lt;a href="https://deviceshelf.app/compare" rel="noopener noreferrer"&gt;scanner comparison&lt;/a&gt; lays out where each one stops, and the &lt;a href="https://deviceshelf.app/fing-alternative" rel="noopener noreferrer"&gt;Fing alternative&lt;/a&gt; writeup covers that switch in particular.&lt;/p&gt;

&lt;h2&gt;
  
  
  LAN-only or internet-exposed? That's the real question
&lt;/h2&gt;

&lt;p&gt;For most home and small-office ports, the honest answer to "is this dangerous" is: only if something outside can reach it. Check two things. First, is the service bound to &lt;code&gt;127.0.0.1&lt;/code&gt; (localhost only), your LAN IP, or &lt;code&gt;0.0.0.0&lt;/code&gt; (everything)? Second, does your router forward that port? Open the port-forwarding page and look for manual rules as well as any UPnP entries you never created. A database on &lt;code&gt;0.0.0.0&lt;/code&gt; behind a router with no forward is exposed to your LAN, not the internet. Still worth fixing, but not a fire drill.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to close or firewall a port
&lt;/h2&gt;

&lt;p&gt;Three levers, roughly in order of preference:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Stop the service&lt;/strong&gt; if you don't use it. A disabled Telnet or SMB service closes the port outright.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rebind it&lt;/strong&gt; to localhost or the LAN instead of &lt;code&gt;0.0.0.0&lt;/code&gt; in the application's config.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Firewall it.&lt;/strong&gt; Block the port at the host (Windows Firewall, &lt;code&gt;ufw&lt;/code&gt;, &lt;code&gt;pf&lt;/code&gt;) or at the router, and delete any port-forward or UPnP rule you didn't add on purpose.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Then re-scan and confirm the port now reads closed or filtered.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keeping an eye on it after the fix
&lt;/h2&gt;

&lt;p&gt;Auditing ports once is worth doing, but the exposure that actually bites is usually the one that appears later, when a new device joins or a service quietly auto-enables itself. DeviceShelf watches for that in the background and alerts you when a new listening service shows up. There's a &lt;a href="https://deviceshelf.app/#download" rel="noopener noreferrer"&gt;free 7-day trial&lt;/a&gt;, no account needed.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>security</category>
      <category>networking</category>
      <category>homelab</category>
    </item>
    <item>
      <title>Why does my phone show a random MAC address on Wi-Fi?</title>
      <dc:creator>DeviceShelf</dc:creator>
      <pubDate>Tue, 25 Aug 2026 09:00:02 +0000</pubDate>
      <link>https://dev.to/deviceshelf/why-does-my-phone-show-a-random-mac-address-on-wi-fi-46km</link>
      <guid>https://dev.to/deviceshelf/why-does-my-phone-show-a-random-mac-address-on-wi-fi-46km</guid>
      <description>&lt;p&gt;Your phone shows a random MAC address because modern operating systems generate a fake hardware address for each Wi-Fi network you join, so networks can't track your device across cafes, airports and offices by its permanent address. iOS 14, Android 10 and current Windows 10/11 all do this by default. It is a privacy feature, not a sign of an intruder.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is MAC randomization?
&lt;/h2&gt;

&lt;p&gt;Every network adapter ships with a burned-in MAC address, and its first three bytes (the OUI) identify the manufacturer. That address used to be broadcast on every network you touched, which turned it into a tracking cookie for the physical world. Retailers and public hotspots logged it to follow foot traffic.&lt;/p&gt;

&lt;p&gt;Apple, Google and Microsoft closed that hole. Since iOS 14 and Android 10 in 2020, and in recent Windows, the OS invents a random MAC per SSID and presents that instead of the real one. Rejoin the same network and you usually get the same random address back. Join a new one and you get a fresh address. Some Android builds rotate it periodically even on a network you already trust.&lt;/p&gt;

&lt;h2&gt;
  
  
  How can I tell a MAC address is randomized?
&lt;/h2&gt;

&lt;p&gt;Look at the second character. A randomized, "locally administered" address has a specific bit set in its first byte, which in practice means the first octet ends in 2, 6, A or E. So &lt;code&gt;A2:...&lt;/code&gt;, &lt;code&gt;7E:...&lt;/code&gt; or &lt;code&gt;36:...&lt;/code&gt; are locally administered; a genuine vendor address like &lt;code&gt;A4:CF:12&lt;/code&gt; (an Espressif prefix) is not. The clearest tell in any device list is a MAC that resolves to no manufacturer at all. That is almost always a phone or laptop with private addressing switched on, not a mystery attacker.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why does a random MAC break vendor lookup and allow-lists?
&lt;/h2&gt;

&lt;p&gt;Two things stop working. Vendor identification through OUI lookup returns nothing, because the locally administered prefix belongs to no company in the IEEE registry. And MAC-based Wi-Fi allow-lists (the "only these addresses may connect" table in your router) become unreliable, because the same phone reappears under a different MAC after a reinstall, an OS update, or a "forget this network." MAC filtering was always weak security theater, and randomization has quietly finished it off. Bind access to a WPA2/WPA3 passphrase, not to hardware addresses.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do I identify a device with a random MAC anyway?
&lt;/h2&gt;

&lt;p&gt;The MAC is a dead end, so pivot to the signals randomization doesn't touch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hostname.&lt;/strong&gt; DHCP and mDNS still carry a name. &lt;code&gt;Lisas-iPhone&lt;/code&gt; or &lt;code&gt;Pixel-7&lt;/code&gt; identifies the device outright. &lt;code&gt;nmap -sn&lt;/code&gt; or your router's client list will show it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Behavior and services.&lt;/strong&gt; Open ports and mDNS/SSDP announcements reveal the platform: an iPhone answers on &lt;code&gt;_apple-mobdev&lt;/code&gt;, a Chromecast advertises &lt;code&gt;_googlecast&lt;/code&gt;. Run &lt;code&gt;nmap -sV&lt;/code&gt; against the IP to fill in the rest.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A name you assign once.&lt;/strong&gt; The practical fix is a scanner that remembers a device across scans even when its MAC changes, so you label "Lisa's iPhone" a single time and it stays labeled.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://deviceshelf.app/" rel="noopener noreferrer"&gt;DeviceShelf&lt;/a&gt; does all three in one local pass: hostname resolution over DNS/mDNS/NetBIOS, port and service enumeration, an OS and device-type guess, and persistent per-device naming that survives a MAC rotation. It runs on your own machine, with no account and no telemetry.&lt;/p&gt;

&lt;p&gt;If you're weighing scanners on exactly this behavior, the &lt;a href="https://deviceshelf.app/compare" rel="noopener noreferrer"&gt;feature comparison against Fing, LanScan and Angry IP&lt;/a&gt; covers how each one handles randomized addresses, and the &lt;a href="https://deviceshelf.app/fing-alternative" rel="noopener noreferrer"&gt;Fing alternative writeup&lt;/a&gt; goes deeper on the local-first difference.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;p&gt;A random, vendor-less MAC on your network is the expected, healthy default for any recent phone or laptop. Don't chase it as a threat. Identify devices by hostname, by the services they run, and by a name you set once, then lock your Wi-Fi with a strong passphrase rather than a MAC allow-list. If you want that identification done in a single scan, DeviceShelf has a &lt;a href="https://deviceshelf.app/#download" rel="noopener noreferrer"&gt;free 7-day trial, no account needed&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>privacy</category>
      <category>networking</category>
      <category>homelab</category>
    </item>
    <item>
      <title>"How to Secure Your Home Network: A Practical Checklist"</title>
      <dc:creator>DeviceShelf</dc:creator>
      <pubDate>Sun, 23 Aug 2026 09:00:02 +0000</pubDate>
      <link>https://dev.to/deviceshelf/how-to-secure-your-home-network-a-practical-checklist-jnh</link>
      <guid>https://dev.to/deviceshelf/how-to-secure-your-home-network-a-practical-checklist-jnh</guid>
      <description>&lt;p&gt;Securing a home network comes down to a short, repeatable checklist: replace the router's default password, enable WPA3, isolate IoT devices on a guest network, disable WPS, close ports you don't need, patch firmware, and keep an eye on what's actually connected. None of it needs enterprise gear. Here is each step in the order that matters.&lt;/p&gt;

&lt;p&gt;Prefer to tick it off as you go? There's a &lt;a href="https://dev.to/checklist"&gt;printable one-page version&lt;/a&gt; you can save or print.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start by knowing what is on your network
&lt;/h2&gt;

&lt;p&gt;You can't secure what you can't see. Open your router's admin page and look at the DHCP client or connected-devices list. It shows IP and MAC addresses, and often hostnames. Cross-check each MAC's first three bytes (the OUI) against a vendor lookup to guess the manufacturer. Anything you can't account for gets investigated.&lt;/p&gt;

&lt;p&gt;For a fuller picture, &lt;code&gt;nmap -sn 192.168.1.0/24&lt;/code&gt; sweeps the whole subnet and lists live hosts. A dedicated scanner does the same faster and adds identification. &lt;a href="https://deviceshelf.app/" rel="noopener noreferrer"&gt;DeviceShelf&lt;/a&gt; discovers every device on the LAN, resolves hostnames over DNS, mDNS and NetBIOS, guesses the OS and device type, and runs entirely on your machine with no account. If you already use Fing, the &lt;a href="https://deviceshelf.app/fing-alternative" rel="noopener noreferrer"&gt;Fing alternative&lt;/a&gt; page covers what a local-first tool does differently.&lt;/p&gt;

&lt;h2&gt;
  
  
  Change the router's default password first
&lt;/h2&gt;

&lt;p&gt;Default admin credentials are the single most exploited weakness in home networks. Log into the router, change the admin password to something long and unique, and while you're there rename the default SSID if it reveals the model. This is the one step that undoes the most common attacks, so do it before anything else.&lt;/p&gt;

&lt;h2&gt;
  
  
  Turn on WPA3, or at least WPA2
&lt;/h2&gt;

&lt;p&gt;In the wireless settings, set encryption to WPA3 if every device supports it. Mixed networks can use WPA2/WPA3 transitional mode. Avoid WPA/WPA2-TKIP and never run an open network. Pick a Wi-Fi passphrase of at least 12 characters that isn't reused anywhere else.&lt;/p&gt;

&lt;h2&gt;
  
  
  Put IoT devices on a guest network
&lt;/h2&gt;

&lt;p&gt;Smart plugs, cameras and TVs are the least trustworthy things you own, and many phone home constantly. Move them onto a guest or separate SSID that has client isolation enabled, so a compromised bulb can't reach your laptop or NAS. Most consumer routers support this in a few clicks; prosumer gear lets you split it into a proper VLAN.&lt;/p&gt;

&lt;h2&gt;
  
  
  Turn off WPS, and check UPnP
&lt;/h2&gt;

&lt;p&gt;WPS (the push-button or PIN pairing shortcut) has a known brute-force weakness. Disable it. UPnP is more nuanced: it lets devices open inbound ports automatically, which is convenient for game consoles but can silently expose services to the internet. If you don't rely on it, turn it off and forward ports manually instead.&lt;/p&gt;

&lt;h2&gt;
  
  
  Find your exposed ports and risky services
&lt;/h2&gt;

&lt;p&gt;This is where most home users are flying blind. A device with Telnet (port 23), an open RDP (3389), or an unauthenticated web panel is a real problem. Run &lt;code&gt;nmap -sV 192.168.1.50&lt;/code&gt; against a host to list open ports and service versions, then ask whether each one needs to be reachable.&lt;/p&gt;

&lt;p&gt;DeviceShelf turns this into a prioritized security report: a risk score per device, flags for exposed services like Telnet and RDP, default-credential checks, and CVE hints tied to the software it finds. It won't fix anything for you, but it tells you where you actually stand. The &lt;a href="https://deviceshelf.app/compare" rel="noopener noreferrer"&gt;DeviceShelf comparison&lt;/a&gt; page lines up how that reporting differs from other LAN scanners.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep firmware updated
&lt;/h2&gt;

&lt;p&gt;Check the router first, since it's the gateway everything passes through, then work down to APs, NAS boxes and IoT hubs. Enable automatic updates where the vendor offers them and you trust the track record. Retire any device that no longer receives security patches.&lt;/p&gt;

&lt;h2&gt;
  
  
  Watch for devices you don't recognize
&lt;/h2&gt;

&lt;p&gt;Security isn't a one-time scan. New devices appear, guests connect, and something unexpected shows up eventually. Continuous presence monitoring with new-device alerts catches that without you re-checking by hand, and per-device bandwidth helps spot a machine behaving oddly.&lt;/p&gt;

&lt;p&gt;If you'd rather see all of this on one screen instead of stitching &lt;code&gt;nmap&lt;/code&gt; output together, DeviceShelf offers a &lt;a href="https://deviceshelf.app/#download" rel="noopener noreferrer"&gt;free 7-day trial, no account needed&lt;/a&gt;. Either way, run the checklist top to bottom once, then revisit it every few months.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>security</category>
      <category>iot</category>
      <category>networking</category>
    </item>
    <item>
      <title>Self-hosted network monitoring for homelab and office</title>
      <dc:creator>DeviceShelf</dc:creator>
      <pubDate>Fri, 21 Aug 2026 09:00:05 +0000</pubDate>
      <link>https://dev.to/deviceshelf/self-hosted-network-monitoring-for-homelab-and-office-1a8i</link>
      <guid>https://dev.to/deviceshelf/self-hosted-network-monitoring-for-homelab-and-office-1a8i</guid>
      <description>&lt;p&gt;Self-hosted network monitoring means running the software that watches your network on your own hardware, with the data staying on your LAN instead of a vendor's cloud. You get device discovery, uptime checks, and alerts from a box you control, with no external account and no telemetry leaving the building.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does self-hosted network monitoring actually mean?
&lt;/h2&gt;

&lt;p&gt;Two things separate it from a SaaS dashboard: the software runs on hardware you own, and the data never leaves your network. A cloud monitor pushes findings to someone else's servers; a self-hosted one keeps inventory, history, and alerts on a machine in your rack or on your desk. For a homelab or small office that means no per-device pricing, no account to lose access to, and nothing about your internal topology sitting in a third party's database.&lt;/p&gt;

&lt;p&gt;You can assemble this from parts. &lt;code&gt;nmap -sn 192.168.1.0/24&lt;/code&gt; sweeps a subnet for live hosts. A cron job hitting &lt;code&gt;ping&lt;/code&gt; or &lt;code&gt;curl&lt;/code&gt; on critical boxes gives you crude uptime. Your router's DHCP lease table lists MAC addresses you can look up against the OUI registry to guess a vendor. It works, but you end up gluing scripts together and reading raw output.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to monitor: uptime, discovery, and alerts
&lt;/h2&gt;

&lt;p&gt;Three jobs cover most of what a homelab needs. Discovery answers "what is on my network right now": every device, its MAC/OUI vendor, hostname via DNS, mDNS or NetBIOS, an OS guess and a device type. Uptime answers "is it still reachable," ideally with history so you can see a pattern rather than a single failed ping. Alerts close the loop, so you know when something new joins the network or a known host drops without watching a screen.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://deviceshelf.app/" rel="noopener noreferrer"&gt;DeviceShelf&lt;/a&gt; does all three from one local scan. It discovers and identifies each device, enumerates open ports and services, and runs continuous presence monitoring that fires a new-device alert the moment an unknown MAC appears. It also builds a prioritized security report flagging exposed services like Telnet or RDP and default-credential risks, which is the part hand-rolled scripts rarely cover.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to run it 24/7 headless
&lt;/h2&gt;

&lt;p&gt;Continuous monitoring only works if it is always on, which means a headless box rather than an app you open. The &lt;a href="https://deviceshelf.app/server" rel="noopener noreferrer"&gt;DeviceShelf server edition&lt;/a&gt; is built for that: it ships as a Docker image, a &lt;code&gt;.deb&lt;/code&gt; package, or a Windows service, so you can run it on a NAS, a Raspberry Pi, a mini PC or a VM and leave it. Because it needs to see Layer 2 traffic for discovery, run the container with &lt;code&gt;network_mode: host&lt;/code&gt; rather than a bridged network.&lt;/p&gt;

&lt;p&gt;Set the scan interval to match your network's churn. A stable home LAN is fine every few minutes; a busier office might scan more often. Route alerts to ntfy, Gotify, a webhook or email so the box can tell you what changed while you were away.&lt;/p&gt;

&lt;p&gt;If your current setup is Uptime Kuma and you want discovery and identification on top of the uptime checks, the &lt;a href="https://deviceshelf.app/uptime-kuma-alternative" rel="noopener noreferrer"&gt;Uptime Kuma alternative comparison&lt;/a&gt; lays out where the two overlap and where they differ.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keeping the data on your own network
&lt;/h2&gt;

&lt;p&gt;The point of self-hosting is control, so check what leaves the box. DeviceShelf is local-first: no account, no telemetry, and the license check works offline. Inventory, history and reports stay on the device. That matters when your network map is something you would rather not hand to a vendor, and it is often the deciding factor for regulated or air-gapped setups.&lt;/p&gt;

&lt;h2&gt;
  
  
  Querying your network with AI
&lt;/h2&gt;

&lt;p&gt;If you want to ask questions instead of reading tables, the server edition can expose its live inventory to an AI assistant over MCP. The AI part is bring-your-own-key and entirely optional. Point it at Anthropic, OpenAI or a local Ollama model, or skip it. Nothing is sent anywhere unless you turn it on.&lt;/p&gt;

&lt;p&gt;The server edition is young but usable, and it is included in the one-time €59 license rather than sold separately. If you want to try the always-on setup first, there is a &lt;a href="https://deviceshelf.app/#download" rel="noopener noreferrer"&gt;free 7-day trial, no account needed&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>selfhosted</category>
      <category>monitoring</category>
      <category>homelab</category>
    </item>
    <item>
      <title>Who Is on My Wi-Fi? See Every Device and Spot Intruders</title>
      <dc:creator>DeviceShelf</dc:creator>
      <pubDate>Wed, 19 Aug 2026 16:30:53 +0000</pubDate>
      <link>https://dev.to/deviceshelf/who-is-on-my-wi-fi-see-every-device-and-spot-intruders-2kca</link>
      <guid>https://dev.to/deviceshelf/who-is-on-my-wi-fi-see-every-device-and-spot-intruders-2kca</guid>
      <description>&lt;p&gt;To see who's on your Wi-Fi, open your router's admin page and look at its connected-devices list, or run a network scanner that pings every address on your subnet. Each entry shows an IP, a MAC address, and often a hostname. From there you match each device to something you actually own, and whatever's left over is worth a closer look. If one of those leftovers turns out to be real, changing your Wi-Fi password disconnects everyone at once.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with your router's device list
&lt;/h2&gt;

&lt;p&gt;Type your router's address into a browser (often &lt;code&gt;192.168.1.1&lt;/code&gt; or &lt;code&gt;192.168.0.1&lt;/code&gt;, printed on a sticker on the box). Log in, then find a section called Attached Devices, DHCP Clients, or Connected Devices. You get a table of everything the router has handed an address to: IP, MAC, and sometimes a name.&lt;/p&gt;

&lt;p&gt;This is the fastest free check, but router lists have limits. They often miss devices on a guest network or a second access point, they drop stale entries slowly, and the names are frequently blank or cryptic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Read the MAC address and vendor (OUI)
&lt;/h2&gt;

&lt;p&gt;Every network device has a MAC address, six pairs of hex like &lt;code&gt;a4:83:e7:2b:19:0c&lt;/code&gt;. The first three pairs are the OUI (Organizationally Unique Identifier), assigned to the manufacturer. &lt;code&gt;a4:83:e7&lt;/code&gt; maps to Apple, for instance. Look the prefix up in any OUI database and an anonymous row becomes "some Apple device."&lt;/p&gt;

&lt;p&gt;Vendor alone rarely finishes the job. A house full of Apple gear turns into a wall of "Apple, Apple, Apple," and you still have to work out which entry is the iPhone and which is the Apple TV.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get real names with hostnames and mDNS
&lt;/h2&gt;

&lt;p&gt;Hostnames close some of that gap. Many devices announce a name over DHCP or mDNS/Bonjour, like &lt;code&gt;Christofs-MacBook&lt;/code&gt; or &lt;code&gt;living-room-tv&lt;/code&gt;. NetBIOS does the same on older Windows networks. A scanner that queries all three resolves far more names than the router shows on its own.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why randomized MAC addresses confuse things
&lt;/h2&gt;

&lt;p&gt;Since iOS 14, Android 10, and recent Windows builds, phones use a random MAC per network by default, and some rotate it over time. The upside is privacy. The downside for you is that a phone can show up under a vendor prefix that no longer maps to its maker, and a device you already trust can look brand new after a rotation.&lt;/p&gt;

&lt;p&gt;This is also the wrinkle most likely to fake an intruder. Before you assume the worst, test it directly: turn Wi-Fi off on a phone you suspect and watch whether the mystery entry disappears. Look at the vendor too. A randomized MAC often reads as "locally administered" or an unknown vendor rather than a clean Apple or Samsung block. And if an entry only shows up when one particular family member is home, it is theirs.&lt;/p&gt;

&lt;p&gt;The broader fix is to match on hostname and behavior rather than MAC alone, and to name devices in a tool that remembers them across scans, so a rotated address doesn't reset your whole inventory. If the randomization itself is what puzzles you, we've covered &lt;a href="https://deviceshelf.app/blog/2026-07-24-random-mac-address/" rel="noopener noreferrer"&gt;why your phone shows a random MAC address&lt;/a&gt; separately.&lt;/p&gt;

&lt;h2&gt;
  
  
  Name everything in one pass with a scanner
&lt;/h2&gt;

&lt;p&gt;Doing all of the above by hand is slow. A scanner sweeps the whole subnet, collects MAC/OUI vendor, hostname, an OS guess, and open ports, then hands you one labeled inventory. nmap does this from the command line (&lt;code&gt;nmap -sn 192.168.1.0/24&lt;/code&gt; for a quick host sweep). GUI tools do the same with less typing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://deviceshelf.app/" rel="noopener noreferrer"&gt;DeviceShelf&lt;/a&gt; is one such scanner. It discovers every device on your LAN or Wi-Fi, identifies each by vendor, hostname, and type, and lets you rename and pin the ones you recognize so the list stays meaningful next time. It runs locally, with no account and no data leaving your machine, which is why people looking for a &lt;a href="https://deviceshelf.app/fing-alternative" rel="noopener noreferrer"&gt;private alternative to Fing&lt;/a&gt; tend to land on it. If you're weighing tools, our &lt;a href="https://deviceshelf.app/compare" rel="noopener noreferrer"&gt;comparison of network scanners&lt;/a&gt; shows where each one fits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Match every device against hardware you own
&lt;/h2&gt;

&lt;p&gt;Now the tedious but decisive part. Walk through the place and count: phones, laptops, tablets, the TV, a streaming stick, the console, printer, robot vacuum, smart plugs, thermostat, doorbell, speakers, the router itself, and any range extenders. Write them down, then cross each one off the scan.&lt;/p&gt;

&lt;p&gt;The MAC vendor is your best clue here. A prefix that resolves to Amazon is probably an Echo or Fire TV. Espressif or Tuya usually means a cheap smart-home gadget. Apple, Samsung, and Google cover most phones and laptops. Line up hostnames where you can. Smart-home gear is the hardest group to pin down, so there's a separate walkthrough on &lt;a href="https://deviceshelf.app/blog/2026-07-24-find-iot-devices-on-network/" rel="noopener noreferrer"&gt;finding IoT devices on your network&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Once every entry is named, the unknowns stand out. Go one by one: power a suspect device off and see which row drops, or check the vendor against what you own. A camera vendor you don't recognize, an open Telnet port, or a host that only appears at odd hours all deserve a second look. Open ports are worth understanding before you judge them, and our guide to &lt;a href="https://deviceshelf.app/blog/2026-07-24-open-ports-explained/" rel="noopener noreferrer"&gt;what an open port actually means&lt;/a&gt; covers which ones matter.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to do if someone really is on your Wi-Fi
&lt;/h2&gt;

&lt;p&gt;If a device survives all of that and you're confident it isn't yours, the fastest fix is to lock everyone out and let your own gear back in.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Change the Wi-Fi password.&lt;/strong&gt; This kicks every device off instantly, the intruder included, and they can't rejoin without the new key. Reconnect your own hardware afterward.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Switch to WPA3&lt;/strong&gt;, or at least WPA2-AES. Never run WEP or an open network. WPA3 makes offline password guessing far harder.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Disable WPS.&lt;/strong&gt; Its 8-digit PIN is brute-forceable and a well-known way in.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Move IoT gadgets to a guest network.&lt;/strong&gt; A cheap camera with weak firmware has no business sharing a subnet with your laptop.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Changing the password is the step that actually disconnects someone. The rest stops them from coming back. For the full pass over your router settings, work through the &lt;a href="https://deviceshelf.app/checklist" rel="noopener noreferrer"&gt;home network security checklist&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a one-time check isn't enough
&lt;/h2&gt;

&lt;p&gt;A manual sweep only catches whoever is connected the moment you look. It says nothing about last night or next week. Someone who joins at 2am and is gone by morning never appears in a check you run at noon.&lt;/p&gt;

&lt;p&gt;Continuous monitoring closes that gap. The network gets watched around the clock, you approve the devices you own once, and an alert fires only when a genuinely new one shows up. DeviceShelf does this on the desktop while your computer is awake, or 24/7 on a Raspberry Pi or NAS with the &lt;a href="https://deviceshelf.app/server" rel="noopener noreferrer"&gt;server edition&lt;/a&gt;. That always-on watch is one of the main things separating it from a pull-to-refresh phone app.&lt;/p&gt;

&lt;p&gt;You can do every step here with free tools and some patience. If you'd rather get the labeled list and the alerts in one pass, DeviceShelf has a &lt;a href="https://deviceshelf.app/#download" rel="noopener noreferrer"&gt;free 7-day trial, no account needed&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>security</category>
      <category>networking</category>
      <category>homelab</category>
    </item>
  </channel>
</rss>
