Skip to main content

Your First Scan

This guide walks you through running your first scan with Pentora, from installation to viewing results.

Prerequisites​

Before starting your first scan, ensure you have:

  • Pentora installed on your system
  • Appropriate network permissions to scan target systems
  • Authorization to scan the target networks (never scan without permission)

Basic Scan Workflow​

Step 1: Verify Installation​

First, verify that Pentora is correctly installed:

pentora version

You should see version information and build details.

Step 2: Run a Simple Discovery Scan​

Start with a basic discovery scan to identify live hosts:

pentora scan --targets 192.168.1.0/24 --only-discover

This command will:

  1. Parse and validate the target CIDR range
  2. Apply any configured blocklists
  3. Perform ICMP/ARP probes to identify live hosts
  4. Display results in your terminal

Expected output:

[INFO] Starting discovery scan for 192.168.1.0/24
[INFO] Found 15 live hosts
[INFO] Results saved to workspace: ~/.local/share/pentora/scans/<scan-id>/

Step 3: Run a Full Port Scan​

Once you've identified live hosts, run a comprehensive scan:

pentora scan --targets 192.168.1.100

This performs the complete scan pipeline:

  • Target ingestion: Validates and expands your target list
  • Asset discovery: Identifies live hosts (can be skipped with --no-discover)
  • Port scanning: TCP/UDP probes with rate limiting
  • Service fingerprinting: Banner grabbing and protocol detection
  • Asset profiling: Device/OS/application identification
  • Vulnerability evaluation: CVE matching and misconfiguration checks
  • Reporting: Structured output generation

Step 4: Understanding Results​

Scan results are stored in your workspace directory (default: ~/.local/share/pentora/scans/<scan-id>/):

scans/
└── 20231006-143022-a1b2c3/
├── request.json # Original scan parameters
├── status.json # Scan status and metadata
├── results.jsonl # Line-delimited JSON results
└── artifacts/ # Additional scan artifacts

View results directly:

cat ~/.local/share/pentora/scans/<scan-id>/results.jsonl | jq

Step 5: Run Vulnerability Assessment​

Enable vulnerability checks to identify security issues:

pentora scan --targets 192.168.1.100 --vuln

The --vuln flag activates vulnerability evaluation modules that:

  • Match service versions against CVE databases
  • Check for common misconfigurations
  • Identify weak protocols and ciphers
  • Flag exposed sensitive services

Common Scan Options​

Target Specification​

Multiple formats are supported:

# Single IP
pentora scan --targets 192.168.1.100

# CIDR notation
pentora scan --targets 192.168.1.0/24

# IP range
pentora scan --targets 192.168.1.1-192.168.1.254

# Hostname
pentora scan --targets example.com

# Multiple targets (comma-separated)
pentora scan --targets "192.168.1.100,192.168.1.200,10.0.0.1/24"

# From file
pentora scan --target-file targets.txt

Controlling Scan Phases​

Control which phases execute:

# Discovery only (identify live hosts)
pentora scan --targets 192.168.1.0/24 --only-discover

# Skip discovery (targets known to be live)
pentora scan --targets 192.168.1.100 --no-discover

# Full scan with vulnerability checks
pentora scan --targets 192.168.1.100 --vuln

Scan Profiles​

Use predefined profiles for common scenarios:

# Quick scan (top 100 ports)
pentora scan --targets 192.168.1.100 --profile quick

# Standard scan (top 1000 ports)
pentora scan --targets 192.168.1.100 --profile standard

# Deep scan (all 65535 ports)
pentora scan --targets 192.168.1.100 --profile deep

# Web application focus
pentora scan --targets example.com --profile webapp

Workspace Control​

Manage where scan data is stored:

# Use custom workspace directory
pentora scan --targets 192.168.1.100 --workspace-dir /path/to/workspace

# Disable workspace (stateless mode, no persistence)
pentora scan --targets 192.168.1.100 --no-workspace

# Clean old scans
pentora workspace gc --older-than 30d

Understanding Output​

Terminal Output​

During execution, Pentora displays:

[INFO] Scan started: scan-20231006-143022
[INFO] Target ingestion: 1 target, 0 blocked
[INFO] Discovery: 1/1 hosts live
[INFO] Port scanning: 5 open ports found
[INFO] Fingerprinting: 5 services identified
[INFO] Vulnerability checks: 2 issues found
[INFO] Scan complete in 45s
[INFO] Results: ~/.local/share/pentora/scans/20231006-143022-a1b2c3/

JSON Results​

Results are stored in line-delimited JSON format:

{
"timestamp": "2023-10-06T14:30:45Z",
"target": "192.168.1.100",
"port": 22,
"protocol": "tcp",
"state": "open",
"service": {
"name": "ssh",
"product": "OpenSSH",
"version": "8.2p1",
"os": "Ubuntu Linux"
},
"fingerprints": [
{
"match": "openssh",
"confidence": 95,
"source": "banner"
}
]
}

Next Steps​

Now that you've completed your first scan, explore:

Troubleshooting​

Permission Errors​

If you encounter permission errors:

# Run with sudo for raw socket access (required for ICMP)
sudo pentora scan --targets 192.168.1.0/24

No Hosts Found​

If discovery returns no results:

  • Verify network connectivity: ping <target>
  • Check firewall rules blocking ICMP
  • Try TCP-based discovery: --discover-profile tcp
  • Use --no-discover if hosts are known to be live

Slow Scans​

If scans run slowly:

  • Reduce concurrency: --rate 100
  • Use a faster profile: --profile quick
  • Skip unnecessary phases: --no-vuln