PortProbe — Network scanner written in pure Python
Project description
PortProbe
PortProbe is a network scanner written in pure Python. It provides various network scanning capabilities including port scanning, host discovery, and service enumeration.
Features
- TCP and UDP port scanning
- Service banner grabbing
- OS detection via TTL fingerprinting
- Interactive terminal mode
- JSON and simple text output formats
- CIDR range scanning
- Multi-threaded scanning
- Windows PATH integration
Using pip
pip install portprobe
Usage
Command Line
# Basic port scan
portprobe scan -u example.com
# Scan specific ports
portprobe scan -i 192.168.1.1 -p 22,80,443
# UDP scan
portprobe scan -u example.com -p top100 --udp
# Ping host
portprobe ping -u example.com -p 443
# Resolve hostname
portprobe resolve -u example.com
# Interactive mode
portprobe -terminal
Library Use
from portprobe import scan_target
result = scan_target("example.com", [22, 80, 443], timeout=2.0)
print(result.to_dict())
Windows PATH Integration
To add PortProbe to your Windows PATH (requires administrator privileges):
portprobe --path
To remove from PATH:
portprobe --rpath
Port Presets
top100: Most common 100 portstop1000: Ports 1-1000web: HTTP/HTTPS portsdb: Database portsmail: Mail server portsssh: SSH portsftp: FTP portsall: All 65535 ports (slow!)
Examples
# Scan top 100 ports on example.com
portprobe scan -u example.com
# Scan web ports on a subnet
portprobe scan -i 192.168.1.0/24 -p web
# UDP scan with banners
portprobe scan -u example.com -p top100 --udp --banners
# JSON output
portprobe scan -i 10.0.0.1 -p 1-1024 --json
# Save results to file
portprobe scan -u example.com -p top100 -o results.txt
Requirements
- Python 3.6+
- No external dependencies (uses only standard library)
License
MIT License
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
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 portprobe-2.0.0.tar.gz.
File metadata
- Download URL: portprobe-2.0.0.tar.gz
- Upload date:
- Size: 18.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27b252257be105bfb33b69fcc351fc365c85d4c8872d5bc118ed5bc14862e5be
|
|
| MD5 |
ce522313eda885ad05a45c1e994015c7
|
|
| BLAKE2b-256 |
35d614308fae88dda4c282cb305e782247abb79fa01a6865fc0a607bd7751c15
|
File details
Details for the file portprobe-2.0.0-py3-none-any.whl.
File metadata
- Download URL: portprobe-2.0.0-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7478a66770952dfdd040f75ea06b1e13d95a7b26036b26b464ee2e73f6f2492b
|
|
| MD5 |
62f2145d343bca16e730d8f65232b54d
|
|
| BLAKE2b-256 |
b8bc84d661636c1020a3c38c01a3810a1a81ec6b77b74e5e6a0578625a450e9a
|