Metadata-Version: 2.4
Name: portprobe
Version: 1.0.0
Summary: PortProbe — Network scanner written in pure Python
Home-page: https://github.com/anc-w/PortProbe
Author: anc.w
Author-email: "anc.w" <ppparker163@gmail.com>
License: MIT
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Security
Classifier: Topic :: System :: Networking
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# 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

```bash
pip install portprobe
```

## Usage

### Command Line

```bash
# 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
```

### Windows PATH Integration

To add PortProbe to your Windows PATH (requires administrator privileges):

```bash
portprobe --path
```

To remove from PATH:

```bash
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

```bash
# 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.
