Skip to main content

Fast IP scanner — multithreaded Ping and ARP scanning

Project description

ipscan banner

ipscan

Fast IP scanner — multithreaded Ping and ARP scanning (Windows, Linux, macOS)

PyPI version Python OS License

Language: English · 繁體中文 · 简体中文 · 日本語 · 한국어 · Deutsch · Français · Italiano · Español · Português BR · Русский


Table of contents

  • Quick start
  • Features
  • CLI tools
  • Python API
  • Performance notes
  • Requirements
  • Contributing

Quick start

Install from PyPI:

pip install ipscan

Windows users: Install optional Windows-optimized ping support:

pip install "ipscan[windows]"

Note: Linux ARP scanning requires sudo privileges for optimal performance.

CLI

fping           # High-speed continuous ping (interactive)
sping           # Simple range ping scan
sarp            # ARP range scan

Python API

Ping scan:

from ipscan import ping_range, PingScanner

online_hosts = ping_range("192.168.1.1", "192.168.1.254")

scanner = PingScanner(timeout=1.0)
results = scanner.scan_range("10.0.0.1", "10.0.0.100")

ARP scan:

from ipscan import arp_range, ArpScanner

host_info = arp_range("192.168.1.1", "192.168.1.254")
for ip, mac in host_info.items():
        print(f"{ip} -> {mac}")

scanner = ArpScanner()
results = scanner.scan_range("10.0.0.1", "10.0.0.100")

Features

  • Cross-platform: Windows, Linux, macOS support with automatic OS detection
  • Multithreaded scanning: High-speed concurrent operations
  • Smart implementations: Platform-optimized for best performance
    • Windows: Native SendARP API + ping3 library
    • Linux: Direct scapy ARP packets + system ping
    • macOS: System arp + ping commands
  • Simple API: Unified interface across all platforms
  • Progress tracking: Real-time progress bars and clean output

Platform Details

Feature Windows Linux macOS
Ping scanning ping3 library system ping system ping
ARP scanning SendARP API scapy packets arp command
Permissions No special permissions sudo for ARP No special permissions
Performance Optimized Optimized Good

Usage Examples

Linux ARP scanning (requires sudo)

sudo sarp
# Enter IP range when prompted

High-speed continuous ping

fping
# Enter target IP and interval

Range ping scanning

sping
# Enter start and end IP addresses

Requirements

  • Python 3.7+
  • Cross-platform support: Windows, Linux, macOS
  • Dependencies:
    • tqdm (progress bars)
    • scapy (ARP packet generation)
    • ping3 (Windows optimization, optional)

Contributing

Issues and PRs are welcome. If you like this project, consider starring it.


Made with ❤️ for network tinkerers.

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

ipscan-1.3.1.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

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

ipscan-1.3.1-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file ipscan-1.3.1.tar.gz.

File metadata

  • Download URL: ipscan-1.3.1.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for ipscan-1.3.1.tar.gz
Algorithm Hash digest
SHA256 3bee68c132ad38bc5a3774e79945200b9e372f5f614901d7e7d1c25faaaf3142
MD5 aafa55d151c15f76b268ff5e66a652b1
BLAKE2b-256 de1911d4891e8ee93dbd6f8e34b58c548a0262da9a180a84c236af9e28499a77

See more details on using hashes here.

File details

Details for the file ipscan-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: ipscan-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for ipscan-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ce68027815fec619d97848c4784b4d3b12810c66522719158c295f5edded6b94
MD5 2fb287deb9de40a84c585027d3bd7239
BLAKE2b-256 fdca325dae0f66e883733352c16f08f40a0b494d2b195bb78d872c8f5a62b2a0

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