Skip to main content

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 ports
  • top1000: Ports 1-1000
  • web: HTTP/HTTPS ports
  • db: Database ports
  • mail: Mail server ports
  • ssh: SSH ports
  • ftp: FTP ports
  • all: 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

portprobe-2.0.0.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

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

portprobe-2.0.0-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

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

Hashes for portprobe-2.0.0.tar.gz
Algorithm Hash digest
SHA256 27b252257be105bfb33b69fcc351fc365c85d4c8872d5bc118ed5bc14862e5be
MD5 ce522313eda885ad05a45c1e994015c7
BLAKE2b-256 35d614308fae88dda4c282cb305e782247abb79fa01a6865fc0a607bd7751c15

See more details on using hashes here.

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

Hashes for portprobe-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7478a66770952dfdd040f75ea06b1e13d95a7b26036b26b464ee2e73f6f2492b
MD5 62f2145d343bca16e730d8f65232b54d
BLAKE2b-256 b8bc84d661636c1020a3c38c01a3810a1a81ec6b77b74e5e6a0578625a450e9a

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