A Java-based network security tool that integrates with Nmap to scan authorized target systems, identify open ports and services, perform rule-based security risk analysis, provide security recommendations, and generate detailed scan reports.
⚠️ Disclaimer: This project is intended strictly for educational purposes and authorized security testing. Only scan systems, networks, or devices that you own or have explicit permission to test.
- IPv4 address validation
- Localhost, private network, and public IP classification
- Authorization warning before scanning
- Basic Nmap scanning
- Service and version detection using Nmap
-sV - Open port detection
- Service identification
- Service version detection
- Rule-based security risk classification
- Risk levels: Critical, High, Medium, Low, and Info
- Security recommendations for detected services
- Scan summary and overall risk level
- Automatic vulnerability report generation
- Timestamp-based report filenames
Run:
java -version
Verify the Java compiler:
javac -version Verify Nmap Installation
Run:
nmap --version
Example:
Nmap version 7.x
Nmap must be accessible through the system PATH for the Java application to execute it successfully.
| Technology | Purpose |
|---|---|
| Java | Core application development |
| Nmap | Network and port scanning |
| ProcessBuilder | Executing Nmap commands from Java |
| BufferedReader | Capturing and reading Nmap output |
| Java File I/O | Generating security reports |
| OOP | Organizing the application structure |
| VS Code | Development environment |
| Git & GitHub | Version control and project hosting |
User Input │ ▼ IP Address Validation │ ▼ IP Type Classification │ ▼ Authorization Warning │ ▼ Scan Mode Selection │ ├───────────────┐ ▼ ▼ Basic Scan Service Version Scan │ │ └───────┬───────┘ ▼ Nmap Execution │ ▼ Capture Scan Output │ ▼ Port Analysis │ ▼ Risk Classification │ ▼ Security Recommendations │ ▼ Scan Summary │ ▼ Automated Report Generation
Java-Vulnerability-Scanner
│
├── .gitignore
├── README.md
│
├── reports/
│ └── vulnerability_report_*.txt
│
├── screenshots/
│ ├── demo-start.png
│ ├── security-analysis.png
│ └── report-generated.png
│
└── src/
└── com/
└── balaji/
└── cybersecurity/
│
├── Main.java
│
├── analyzer/
│ └── PortAnalyzer.java
│
├── report/
│ └── ReportGenerator.java
│
├── scanner/
│ └── NmapScanner.java
│
└── validator/
└── InputValidator.java