Fast IP scanner — multithreaded Ping and ARP scanning
Project description
ipscan
Fast IP scanner — multithreaded Ping and ARP scanning (Windows, Linux, macOS)
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.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3bee68c132ad38bc5a3774e79945200b9e372f5f614901d7e7d1c25faaaf3142
|
|
| MD5 |
aafa55d151c15f76b268ff5e66a652b1
|
|
| BLAKE2b-256 |
de1911d4891e8ee93dbd6f8e34b58c548a0262da9a180a84c236af9e28499a77
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce68027815fec619d97848c4784b4d3b12810c66522719158c295f5edded6b94
|
|
| MD5 |
2fb287deb9de40a84c585027d3bd7239
|
|
| BLAKE2b-256 |
fdca325dae0f66e883733352c16f08f40a0b494d2b195bb78d872c8f5a62b2a0
|