Skip to main content

A professional, fast concurrent local network scanner.

Project description

Local IP Finder (ipscanner)

A professional, cross-platform, fast concurrent local network scanner written in Python.

This tool automatically detects your local IP address and scans your entire /24 subnet using concurrency (ThreadPoolExecutor) for optimal performance, finding all active devices connected to your network.

Features

  • Auto-detection: Automatically finds your machine's base network so no hardcoding is necessary.
  • Concurrent Scanning: Uses high-performance threading to ping multiple IPs up to 254 times concurrently.
  • Cross-Platform: Configures ping commands based on the OS (Windows, macOS, Linux).
  • Graceful Interruptions: Supports fast exit with clean cancellation of threads during Ctrl+C.
  • Customizable: Allows defining explicit subnets, thread pool sizing, and timeouts.
  • ARP Resolution: Lists the ARP table at the end of the scan to map IPs to MAC addresses.

Output Example

2026-03-11 11:20:05 [INFO] Auto-detected local IP: 10.121.186.162 (Base network: 10.121.186)
2026-03-11 11:20:05 [INFO] Scanning network 10.121.186.0/24 with 50 concurrent threads...
2026-03-11 11:20:06 [INFO] Active IP found: 10.121.186.1
2026-03-11 11:20:06 [INFO] Active IP found: 10.121.186.39
2026-03-11 11:20:07 [INFO] Scan complete. Found 2 active devices.

Retrieving ARP table mapping...
...

Installation

You can install the tool directly from PyPI using pip:

pip install ipscanner

Usage

You can run the script right away to auto-scan your local subnet:

ipscanner

Advanced Usage

You can also use command-line arguments to customize behavior:

usage: ipscanner [-h] [-n NETWORK] [-t THREADS] [--timeout TIMEOUT]

A professional, fast concurrent local network scanner.

options:
  -h, --help            show this help message and exit
  -n NETWORK, --network NETWORK
                        Base network to scan (e.g., '192.168.1'). Auto-detected if not provided.
  -t THREADS, --threads THREADS
                        Number of concurrent threads for pinging (default: 50).
  --timeout TIMEOUT     Ping timeout in milliseconds (default: 1000).

Example setting custom threads and network segment:

ipscanner -n 192.168.0 -t 100 --timeout 500

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ipscanner-0.1.0.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ipscanner-0.1.0-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file ipscanner-0.1.0.tar.gz.

File metadata

  • Download URL: ipscanner-0.1.0.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for ipscanner-0.1.0.tar.gz
Algorithm Hash digest
SHA256 585557e3ecac39a770ce6e95cfe728c61a484d820be4c53477326c1c94a466e2
MD5 2a049dbc36960ca819f5e1e0ef2fc95d
BLAKE2b-256 852b95845d081df474c4357518803ba476a59ccf90dbb8eaecb6dd2ddfd3d89a

See more details on using hashes here.

File details

Details for the file ipscanner-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ipscanner-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for ipscanner-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8db6a024ed0f16228b3f0ca6ecb06be3e52a641c17c7726914be969e2bf40da
MD5 51591e4fd0ac4c6f1348de19b64f4210
BLAKE2b-256 ea30b90ff40312398f6be4b8ab9b586a86042b8d1eb91c90062a2dd1b653dc34

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page