Skip to content

VulnScan is a lightweight, beginner-friendly vulnerability scanner built using Python, Flask, Nmap, and basic HTML/CSS for a simple web interface. It uses Nmap under the hood to scan ports and detect running services, displaying useful information in a clean, accessible UI.

License

Notifications You must be signed in to change notification settings

bot0024/Python-Web-Based-Vulnerability-Scanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔍 VulnScan — Web-based Vulnerability Scanner using Python, Flask & Nmap

VulnScan is a lightweight, beginner-friendly vulnerability scanner built using Python, Flask, Nmap, and basic HTML/CSS for a simple web interface. It uses Nmap under the hood to scan ports and detect running services, displaying useful information in a clean, accessible UI.


📌 Table of Contents


🚀 Features

✅ Scan target IPs/domains using Nmap
✅ Detect open ports, service names, product info, and versions
✅ Simple and clean Flask web interface
✅ Easy to run on local machines
✅ Modular code with separate logic for scanning


📁 Project Structure


⚙️ Technologies Used

Tech Description
Python Core backend scripting
Flask Lightweight web framework
Nmap Network scanning engine (via python-nmap)
HTML & CSS Frontend UI

🔧 Installation

📌 Prerequisites

  • Python 3.6+
  • nmap installed on your machine
    Install it via your system package manager:
    • Ubuntu/Debian: sudo apt install nmap
    • Mac (Homebrew): brew install nmap
    • Windows: Download Nmap

📦 Setup Steps

# 1. Clone the repository
git clone https://github.com/bot0024/Python-Web-Based-Vulnerability-Scanner.git
cd VulnScan

# 2. Create a virtual environment (optional but recommended)
python -m venv venv
source venv/bin/activate  # For Windows: venv\Scripts\activate

# 3. Install required Python packages
pip install -r requirements.txt

# 4. Run the Flask app
python app.py

##🌐 Open in Browser Once the app is running, open: 👉 http://127.0.0.1:5000

💡 How It Works

User enters a target IP/domain in the input form.

Flask backend takes this input and calls scan_target() in scanner.py.

python-nmap module wraps Nmap and executes the scan.

Results (port, state, service name, version) are parsed and sent to the frontend.

UI dynamically displays the scan results in a table.

Screenshots

(Coming Soon)

❗ Notes

This tool does not exploit any vulnerabilities; it only detects open services and versions.

Use this tool only on systems you own or have explicit permission to scan.

You may need to run the app with admin/root privileges for full scan capabilities.

Dark mode UI 🌙

📄 License

This project is licensed under the MIT License. You’re free to use, modify, and share it for personal or educational purposes.

Visit My Linkdin profile

About

VulnScan is a lightweight, beginner-friendly vulnerability scanner built using Python, Flask, Nmap, and basic HTML/CSS for a simple web interface. It uses Nmap under the hood to scan ports and detect running services, displaying useful information in a clean, accessible UI.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published