#!/bin/bash # Quick Start Script for Network Scanner # This script helps you get started quickly set -e echo "================================" echo "Network Scanner - Quick Start" echo "================================" echo "" # Check for Python if ! command -v python3 &> /dev/null; then echo "❌ Error: Python 3 is not installed" exit 1 fi echo "✓ Python 3 found" # Create config if it doesn't exist if [ ! -f config.json ]; then echo "" echo "📝 Creating configuration file..." # Try to detect default SSH key SSH_KEY="" if [ -f ~/.ssh/id_rsa ]; then SSH_KEY="$HOME/.ssh/id_rsa" elif [ -f ~/.ssh/id_ed25519 ]; then SSH_KEY="$HOME/.ssh/id_ed25519" fi # Get current user CURRENT_USER=$(whoami) # Try to detect local network LOCAL_NET=$(ip route | grep -oP 'src \K[\d.]+' | head -1) if [ -n "$LOCAL_NET" ]; then # Convert to /24 network NET_PREFIX=$(echo $LOCAL_NET | cut -d. -f1-3) LOCAL_NET="${NET_PREFIX}.0/24" else LOCAL_NET="192.168.1.0/24" fi cat > config.json << EOF { "ssh_user": "$CURRENT_USER", "ssh_key_path": "$SSH_KEY", "timeout": 2, "additional_networks": [ "$LOCAL_NET" ], "special_devices": { }, "scan_options": { "max_workers": 10, "ping_timeout": 2, "port_scan_timeout": 1 } } EOF echo "✓ Created config.json" echo " Local network detected: $LOCAL_NET" [ -n "$SSH_KEY" ] && echo " SSH key detected: $SSH_KEY" echo "" echo " Please edit config.json to customize for your network!" echo "" else echo "✓ config.json already exists" fi # Ask what to do echo "" echo "What would you like to do?" echo "" echo "1) Run a quick scan (current network only)" echo "2) Run a full scan with pfSense integration" echo "3) Scan specific pfSense device" echo "4) Show help" echo "5) Exit" echo "" read -p "Choose an option (1-6): " choice case $choice in 1) echo "" echo "🔍 Running quick network scan..." ./network_scanner.py -o quick_scan.json -v echo "" echo "✓ Done! Results saved to: quick_scan.json" ;; 2) echo "" echo "🔍 Running full integrated scan..." ./integrated_scanner.py -o full_scan.json -v echo "" echo "✓ Done! Results saved to: full_scan.json" ;; 3) echo "" read -p "Enter pfSense IP address: " pfsense_ip echo "🔍 Scanning pfSense at $pfsense_ip..." ./pfsense_scanner.py "$pfsense_ip" -o "pfsense_${pfsense_ip}.json" echo "" echo "✓ Done! Results saved to: pfsense_${pfsense_ip}.json" ;; 4) echo "" cat << 'HELP' Network Scanner - Help ====================== Available Scripts: ----------------- 1. network_scanner.py Basic network scanner that discovers devices and gathers info Usage: ./network_scanner.py [-c config.json] [-o output.json] [-v] 2. pfsense_scanner.py Specialized scanner for pfSense firewalls Usage: ./pfsense_scanner.py [-u user] [-k keyfile] [-o output.json] 3. integrated_scanner.py Complete scanner with pfSense integration Usage: ./integrated_scanner.py [-c config.json] [-o output.json] [-v] Configuration: ------------- Edit config.json to customize: - SSH credentials - Network ranges to scan - Special device definitions - Scan timeouts Examples: -------- # Quick scan of current network ./network_scanner.py -v # Full scan with diagram ./integrated_scanner.py --generate-svg # Scan pfSense ./pfsense_scanner.py 192.168.1.1 -u root -k ~/.ssh/id_rsa For more information, see README.md HELP ;; 5) echo "Goodbye!" exit 0 ;; *) echo "Invalid option" exit 1 ;; esac echo "" echo "================================" echo "Thanks for using Network Scanner!" echo "================================"