Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔍 Vulnerability Scanner

A Python-based Network Vulnerability Scanner designed to identify potential security risks in networked systems through port scanning, banner grabbing, service enumeration, operating system detection, and vulnerability assessment using Nmap.

This project demonstrates fundamental cybersecurity concepts including reconnaissance, vulnerability assessment, network enumeration, and secure scanning practices.


📌 Features

Port Scanning

  • Scans a specified range of TCP ports
  • Identifies open ports on the target host
  • Provides quick visibility into exposed services

Banner Grabbing

  • Connects to open ports
  • Retrieves service banners when available
  • Helps identify running applications and service versions

Service Enumeration

  • Detects active network services
  • Assists in identifying exposed applications

Operating System Detection

  • Uses Nmap OS fingerprinting
  • Attempts to identify the target operating system

Vulnerability Assessment

  • Uses Nmap NSE Vulnerability Scripts
  • Detects known vulnerabilities when supported
  • Provides additional security insights into exposed services

Scan Performance Tracking

  • Measures scan start and end times
  • Displays total scan duration

🛡️ Security Concepts Demonstrated

This project demonstrates several cybersecurity concepts:

  • Network Reconnaissance
  • Port Scanning
  • Service Enumeration
  • Banner Grabbing
  • Operating System Fingerprinting
  • Vulnerability Assessment
  • Attack Surface Discovery
  • Security Auditing
  • Nmap Scripting Engine (NSE)
  • Network Security Fundamentals

⚙️ Technologies Used

  • Python 3.x
  • Socket Programming
  • Nmap
  • python-nmap
  • Datetime Module
  • Git & GitHub

📂 Project Structure

vulnerability-scanner/
│
├── app.py
├── README.md
├── requirements.txt
├── .gitignore
├── LICENSE
│
└── screenshots/
    └── demo.png

🚀 Installation

Clone Repository

git clone https://github.com/asif-visionary/vulnerability-scanner.git

cd vulnerability-scanner

Create Virtual Environment

Windows

python -m venv .venv

Activate:

.venv\Scripts\activate

Linux / macOS

python3 -m venv .venv

Activate:

source .venv/bin/activate

Install Dependencies

pip install -r requirements.txt

📖 Nmap Installation

This project requires Nmap to be installed on your system.

Windows

Download and install Nmap:

https://nmap.org/download.html

Verify installation:

nmap --version

Linux

sudo apt update
sudo apt install nmap

Verify:

nmap --version

Install Dependencies

pip install -r requirements.txt

▶️ Running the Application

python app.py

Example:

Enter the target IP or Hostname: scanme.nmap.org
Enter the starting port for scanning: 20
Enter the ending port for scanning: 100

🧪 Example Output

Starting network scan for target: scanme.nmap.org...

Open ports found: [22, 80]

Banner for scanme.nmap.org:22
SSH Service Detected

Banner for scanme.nmap.org:80
HTTP Service Detected

Operating System:
Linux

Scan completed in:
0:00:15.234567

🔒 How It Works

The scanner performs the following steps:

  1. Scans the specified port range.
  2. Identifies open ports.
  3. Attempts banner grabbing on detected services.
  4. Performs service and OS detection using Nmap.
  5. Executes Nmap vulnerability scripts.
  6. Displays scan findings and execution time.

🎯 Learning Outcomes

Through this project, users can learn:

  • Network Scanning Techniques
  • TCP Port Enumeration
  • Service Discovery
  • Banner Grabbing Methodology
  • Operating System Fingerprinting
  • Vulnerability Detection
  • Nmap Automation with Python
  • Cybersecurity Assessment Fundamentals
  • Secure Network Auditing Practices

🔮 Future Enhancements

Possible future improvements:

  • Multi-threaded Port Scanning
  • Web-based Dashboard
  • PDF Report Generation
  • Export Results to JSON/CSV
  • CVE Mapping Integration
  • Risk Scoring System
  • Scan History Tracking
  • Automated Remediation Recommendations

⚠️ Disclaimer

This project is intended solely for educational purposes and authorized security testing.

Users must obtain explicit permission before scanning, testing, or assessing any network, system, or service.

Unauthorized scanning may violate local laws, organizational policies, or service agreements.

The author assumes no responsibility for misuse, damage, or legal consequences resulting from the use of this software.

Always perform security testing responsibly and ethically.


📄 License

This project is licensed under the MIT License.


👨‍💻 Author

Mohamed Asif

Cybersecurity Enthusiast | SOC | Cloud Security | Application Security

Releases

Packages

Contributors

Languages