best

Best hidden cameras detector app and network scan

Find hidden cameras with network scanning, physical sweeps, and Home Assistant device-presence monitoring on your local network.

On this page
  1. Start With a Network Scan
  2. Active Network Scanning with Nmap
  3. Phone Detector Apps: Useful, but Manage Expectations
  4. Physical Sweep for Offline Cameras
  5. Ongoing Monitoring in Home Assistant
  6. Quick Verdict

Finding unexpected cameras is a legitimate privacy concern, whether you’re moving into a new place, checking a rental, or auditing your own smart home. There’s no single magic tool. The realistic approach is layered: scan your network for unknown devices, do a physical sweep for lenses and IR emitters, and (for your own home) set up ongoing device-presence monitoring in Home Assistant. Here’s what each method can and can’t do.

Start With a Network Scan

A camera that’s streaming anywhere has to be on a network, so a network scan is the highest-value first step for any Wi-Fi camera. Most network-connected cameras announce themselves through mDNS/Bonjour, SSDP/UPnP, or simply by responding on common ports, and many have MAC addresses whose OUI prefix identifies the manufacturer.

Note that a camera recording only to a local SD card with no network connection won’t show up on a network scan at all. For those, you need a physical sweep (below).

Active Network Scanning with Nmap

The standard tool for this is nmap. It probes a range of IP addresses and reports what answers. Run it from any computer on the same network (a laptop, a mini PC, a Raspberry Pi). You can’t run arbitrary commands on a sealed Home Assistant OS box, so use a regular machine for ad-hoc scans.

A quick host discovery sweep:

sudo nmap -sn 192.168.1.0/24

Replace 192.168.1.0/24 with your actual subnet. (-sn is the current ping-scan flag; the old -sP is a deprecated alias.) You’ll get a list of live hosts, often with MAC prefixes and hostnames.

To look for the ports cameras commonly use:

sudo nmap -sV -p 80,443,554,8000,8080,8554,37777 192.168.1.0/24

Port 554 is RTSP, the most common IP-camera streaming protocol; 8554 is a frequent alternate RTSP port; 80/443 are web admin interfaces; 8000/8080 are common camera web ports; 37777 is the Dahua/Amcrest control port. Open ports plus a camera-vendor OUI is a strong signal.

The honest tradeoff: nmap gives you raw data, and interpreting it means knowing what should be on your network. Cross-reference unfamiliar MAC prefixes against an OUI lookup (the IEEE database, or nmap’s built-in vendor list) and investigate anything you can’t account for. For a focused walkthrough of tracking down one specific unknown device, see how to find a rogue smart device on your network.

Phone Detector Apps: Useful, but Manage Expectations

Mobile “hidden camera detector” apps work in a few ways, with very different reliability:

  • Network scanner mode (e.g. Fing, iNet on iOS/macOS): useful. These list connected devices with manufacturer guesses, much like a lightweight nmap. This is the most trustworthy mode.
  • Lens-reflection detection: you shine a light and the app helps you spot the tell-tale glint of a lens through the phone camera. This works in principle but depends heavily on you and lighting; the app is mostly a flashlight-and-magnifier aid.
  • IR detection: some hidden cameras emit infrared at night. Many phone front cameras can faintly see IR, so an app may help you spot a glowing LED. Hit or miss, and depends on the phone’s IR filter.
  • Magnetometer (“bug sweep”) mode: apps use the phone’s compass sensor to flag magnetic anomalies. Be skeptical here. It detects any nearby metal or magnet, not cameras specifically, and produces a lot of false positives. Treat it as a rough hint, not proof.

Bottom line: use the network-scanner mode for real signal, and the physical modes as rough aids during a manual sweep. None of them is a guaranteed detector.

Physical Sweep for Offline Cameras

A camera with no network connection won’t appear in any scan. For those, do a physical sweep: turn off the lights and look for IR LEDs, use a bright light to catch lens reflections in vents, smoke detectors, clocks, and outlets, and inspect anything with an unexplained pinhole or unusual line of sight. A dedicated RF detector / lens finder (a cheap hardware “bug detector”) is more reliable than a phone app for this, since it can pick up RF transmitters and has a proper red-light lens-finder ring.

Ongoing Monitoring in Home Assistant

For your own home, Home Assistant can watch for devices appearing on your network over time. The Nmap Tracker integration is set up from Settings > Devices & Services > Add Integration > Nmap Tracker (it’s now a config-flow integration rather than YAML-only). You give it a subnet to scan, and it creates device_tracker entities that flip to “home” when a device is reachable.

If you prefer YAML, the legacy platform config still works:

device_tracker:
  - platform: nmap_tracker
    hosts: 192.168.1.0/24
    home_interval: 10
    exclude:
      - 192.168.1.10   # exclude the Home Assistant host itself

From there, build an automation that notifies you when a new, previously unseen device joins the network. It won’t identify cameras specifically (MAC randomization and generic chipsets defeat OUI matching), but “an unknown device just appeared” is a useful trigger for a closer look. Your router can do the same client-tracking job, often with better history: a UniFi Dream Machine Pro runs the UniFi Network controller and turns every wired and Wi-Fi client into a Home Assistant device_tracker, and an OPNsense or pfSense box can track clients too (OPNsense has a core Home Assistant integration; pfSense is HACS-only).

A note on integrations sometimes suggested for this: the snmp integration only helps if a device speaks SNMP and you already know its address and community string (managed switches, some NVRs, rarely cameras). Internet-scanning services like Shodan index public IPs, not devices on your LAN, so they aren’t a tool for finding a camera in your house. Stick to nmap and HA’s own device tracking for local work.

Quick Verdict

Lead with a network scan: nmap for depth, Fing for a quick phone check. Do a physical sweep with a light (and ideally a dedicated RF/lens detector) for any offline, SD-card-only cameras that won’t show on the network. To keep watch over your own home, wire Nmap Tracker or your router’s client list into Home Assistant and alert on new devices. No single tool catches everything, but layering network scanning, a physical sweep, and presence monitoring covers the realistic threats. Once you’ve cleaned house, secure your IoT devices on the network and audit which smart devices still phone home to keep new surprises out.

Next steps

Compare this category side by side

If you want fewer opinions and more matrix-style tradeoffs, the comparison pages are the next stop.

See comparisons →

Inspect all products

The full product database keeps the caveats, setup notes, and compatibility details attached to each device.

Browse products →

Back up and read the explainers

If a buying guide feels too specific too fast, the guides section covers the broader local-first logic behind it.

Read guides →

Related articles

Best local-first smart home hubs

The best smart home hubs and controllers for people who care about local control, Home Assistant compatibility, and fewer long-term regrets.

Read article →

Best smart plugs with local control and energy monitoring

The best local smart plugs with energy monitoring for Home Assistant: real local control over Zigbee, Z-Wave, or Wi-Fi plus accurate power data, no cloud.

Read article →

Best local security cameras for Home Assistant

The best Home Assistant-friendly local camera options for buyers who care about RTSP, ONVIF, NVR compatibility, and lower cloud dependence.

Read article →
New guides and product notes, no inbox required. Follow via RSS →