2 minute read

A Chrome Extension to monitor what URLs on private/local network your current tab attempted to access..

Introduction

Ever seen a browser prompt saying a website wants to “connect to a device on your local network” — and wondered why? What exactly is it trying to reach? Your smart home devices? Your router? A local server?

What It Does

LNalyzer monitors and displays any attempts by websites to access resources on your private/local network. When you visit a webpage, the extension tracks requests to private IP addresses (like 192.168.x.x or 10.x.x.x) and displays them in a simple, easy-to-read popup.

You’ll see:

  • Detect and log Local Network Access (LNA) requests.
  • View full request URLs in a clear, easy-to-read pane.
  • Understand which sites are scanning or probing your private network.

Demo

How It Works (Technical Overview)

LNalyzer uses Chrome’s WebRequest API to monitor network activity, but with a clever insight: requests to local/private network addresses often behave differently than regular internet requests — they tend to hang or take longer to resolve.

Here’s how the extension detects potential local network access:

  1. Request Tracking: When any network request starts, the extension records it along with a timestamp using chrome.webRequest.onBeforeRequest.

  2. Pending Detection: The extension monitors how long each request remains in-flight. If a request is still pending after 1 second (the PENDING_THRESHOLD), it’s flagged as suspicious. These hanging requests are strong indicators of local network access attempts, since:
    • Private IP addresses may not respond if no device exists at that address
    • Browser security policies may block or delay these requests
    • Local network requests often timeout rather than complete quickly
  3. Cleanup on Completion: When requests complete (successfully via onCompleted or with errors via onErrorOccurred), they’re removed from the pending list. This ensures only truly stuck requests are displayed.

  4. Tab-Specific Filtering: The extension tracks your active tab and only shows pending requests associated with the current page you’re viewing, keeping the display focused and relevant.

  5. Real-time Updates: The popup receives notifications whenever the pending request state changes, giving you a live view of what’s happening.

The key insight is that legitimate internet requests typically complete quickly, while attempts to probe local network addresses often result in requests that hang indefinitely or timeout. By surfacing these pending requests, LNalyzer reveals local network access attempts that would otherwise be invisible without diving into DevTools.

The extension is lightweight and completely private — all monitoring happens locally in your browser, and no data is sent anywhere.