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
- 📁 Project Structure
- ⚙️ Technologies Used
- 🔧 Installation
- 💡 How It Works
- 📸 Screenshots
- ❗ Notes
- 📄 License
✅ 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
Tech | Description |
---|---|
Python | Core backend scripting |
Flask | Lightweight web framework |
Nmap | Network scanning engine (via python-nmap ) |
HTML & CSS | Frontend UI |
- 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
- Ubuntu/Debian:
# 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
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.
(Coming Soon)
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 🌙
This project is licensed under the MIT License. You’re free to use, modify, and share it for personal or educational purposes.