A fast, multithreaded Python-based vulnerability scanner that performs host discovery, port scanning, service/banner detection, CVE matching, and web service analysis — all in one tool. Results are saved as both a human-readable text report and a machine-readable JSON file.
⚠️ For authorised testing only. Only scan systems you own or have explicit written permission to test.
- Host Discovery — ICMP ping check before scanning
- Multithreaded Port Scanner — scans 100+ ports concurrently for speed
- Banner Grabbing — connects to open ports and extracts service banners
- CVE Vulnerability Matching — matches banners against a local vulnerability database
- Web Service Detection — fingerprints HTTP/HTTPS services (status, server, page title)
- Dual Report Output — saves
.txtand.jsonreports automatically - Colour-coded Terminal Output — critical findings highlighted in red
- Python 3.8+
- pip
# Clone the repository
git clone https://github.com/JefferyCyber/vulnerability-scanner.git
cd vulnerability-scanner
# Install dependencies
pip install -r requirements.txt# Scan default common ports
python src/scanner.py <target>
# Scan a specific port range
python src/scanner.py <target> <start-end>
# Examples
python src/scanner.py 192.168.56.103
python src/scanner.py 192.168.56.103 1-1024
python src/scanner.py scanme.nmap.org[*] Target : 192.168.56.103
[*] Ports : 22 common ports
[*] Checking if host is alive...
[+] Host 192.168.56.103 is UP
[*] Scanning 22 ports on 192.168.56.103...
[+] Port 21/tcp OPEN FTP
[+] Port 22/tcp OPEN SSH
[+] Port 80/tcp OPEN HTTP
[+] Port 3306/tcp OPEN MySQL
[*] Grabbing service banners...
[+] 21/tcp (FTP): 220 (vsFTPd 2.3.4)
[+] 22/tcp (SSH): SSH-2.0-OpenSSH_4.7p1 Debian
[*] Checking for known vulnerabilities...
[!] VULNERABILITY FOUND on port 21
CVE : CVE-2011-2523
Severity : CRITICAL
Details : Backdoor command execution
==================================================
SCAN SUMMARY
==================================================
Target : 192.168.56.103
Open Ports : 4
Vulnerabilities: 1
Web Services : 1
==================================================
[+] Text report saved : reports/scan_192_168_56_103_20260514.txt
[+] JSON report saved : reports/scan_192_168_56_103_20260514.json
vulnerability-scanner/
├── src/
│ └── scanner.py # Main scanner
├── reports/ # Auto-generated scan reports
├── screenshots/ # Demo screenshots
├── requirements.txt # Python dependencies
├── LICENSE
└── README.md
The scanner includes a local CVE database covering:
| Service | CVE | Severity |
|---|---|---|
| vsftpd 2.3.4 | CVE-2011-2523 | CRITICAL |
| Samba 3.0.20 | CVE-2007-2447 | CRITICAL |
| Redis | CVE-2022-0543 | CRITICAL |
| OpenSSH 4.7 | CVE-2008-0166 | HIGH |
| MySQL 5.0 | CVE-2008-0226 | HIGH |
| ProFTPD 1.3.3 | CVE-2010-4221 | CRITICAL |
| Apache 2.2.8 | CVE-2009-1195 | MEDIUM |
| Telnet (any) | N/A | HIGH |
- OS fingerprinting
- Nmap integration for deeper scanning
- HTML report generation
- Expand CVE database via NVD API
- Subdomain enumeration
- Slack/email alert integration
Jeffery Ayando
- GitHub: @JefferyCyber
- LinkedIn: jeffery-ayando
This tool is intended for authorised security testing and educational purposes only. Unauthorised scanning of systems you do not own is illegal. The author accepts no liability for misuse of this tool.
MIT License — see LICENSE for details.