A comprehensive Java-based network security toolkit combining features from industry-standard tools: nmap, Zabbix, Wireshark, and Nikto.
- TCP/UDP port scanning
- Service detection and banner grabbing
- OS fingerprinting
- CIDR notation support
- Multi-threaded scanning (100 concurrent threads)
- Real-time host availability monitoring
- Performance metrics tracking
- Configurable alert thresholds
- Historical data with charts
- SNMP support
- Live packet capture (requires Npcap/WinPcap)
- Protocol dissection (TCP, UDP, ICMP, HTTP, DNS, etc.)
- BPF filter support
- Hex dump viewer
- Packet statistics
- SNMP v2c GET operations
- SNMP WALK from root OID
- Configurable community, host, port, and timeout
- Basic MIB value browsing for network devices
- HTTP/HTTPS security testing
- SSL/TLS certificate analysis
- SQL injection detection
- Directory enumeration
- Header analysis
- XSS detection
- Scan History: View, filter, and export past results
- Database: H2 embedded database for persistent storage
- Export: Results to CSV, JSON, HTML formats
- Configuration: Customizable settings for all modules
- Logging: Comprehensive logging with rotation
- Java 21 (JDK) installed
- Eclipse IDE (recommended) or Maven
- Npcap (for packet capture on Windows)
- Open Eclipse and import the project
- Update Maven dependencies:
Right-click project β Maven β Update Project β Force Update - Run the application:
Right-click MainApplication.java β Run As β Java Application - Accept the legal disclaimer
- Start using the toolkit
π See QUICKSTART.md for detailed instructions.
# Using Maven
mvn javafx:run
# Or use the batch script (Windows)
run.batNetwork_Toolkit/
βββ src/
β βββ com/networktoolkit/
β β βββ main/ # Application entry point
β β βββ model/ # Data models
β β β βββ common/ # Shared models (Host, Port, Severity, etc.)
β β β βββ portscan/ # Port scan results
β β β βββ monitor/ # Monitoring metrics
β β β βββ packet/ # Packet data
β β β βββ webscan/ # Vulnerability findings
β β βββ service/ # Business logic
β β β βββ common/ # Infrastructure (DB, Config, etc.)
β β β βββ portscan/ # Port scanning engine
β β β βββ monitor/ # Monitoring service
β β β βββ packet/ # Packet capture
β β β βββ webscan/ # Web security scanner
β β βββ controller/ # JavaFX controllers
β β βββ view/ # FXML layouts and CSS
β β βββ util/ # Utility classes
β β βββ dao/ # Database access
β β βββ exception/ # Custom exceptions
β βββ module-info.java # Java module configuration
β βββ logback.xml # Logging configuration
βββ pom.xml # Maven dependencies
βββ QUICKSTART.md # Quick start guide
βββ RUNNING.md # Detailed running/debugging guide
βββ README.md # This file
- Java 21 - Modern Java with records, pattern matching, and virtual threads
- JavaFX 21 - Modern UI framework
- Maven - Dependency management and build tool
- Pcap4J - Packet capture and analysis
- SNMP4J - SNMP monitoring
- OkHttp - HTTP client for web scanning
- Jsoup - HTML parsing
- H2 Database - Embedded SQL database
- Jackson - JSON processing
- SLF4J + Logback - Logging framework
- JFreeChart - Charts and graphs
- Apache Commons Net - Network protocols
- Netty - Advanced protocol handling
| Phase | Module | Status |
|---|---|---|
| β 1 | Foundation | COMPLETE |
| β 2 | Port Scanner | BASIC COMPLETE |
| β 3 | Network Monitor | BASIC COMPLETE |
| β 4 | Packet Analyzer | BASIC COMPLETE |
| β 5 | Web Scanner | BASIC COMPLETE |
| β³ 6 | Integration & Polish | Pending |
| β³ 7 | Testing & Documentation | Pending |
- Maven project setup with all dependencies
- Java module system configuration
- Infrastructure services:
- DatabaseService (H2 with 5 tables)
- ConfigurationService (JSON-based)
- ThreadPoolManager (4 specialized pools)
- Utility classes:
- NetworkUtils (IP validation, CIDR parsing, port range parsing)
- ValidationUtils (Input sanitization, injection prevention)
- Base models: Host, Port, ScanResult, Severity
- JavaFX application skeleton with 5 tabs
- Logging configuration
- Legal disclaimer
This tool is designed for:
- β Testing systems you own
- β Authorized penetration testing with written permission
- β Educational purposes in controlled environments
- β Security research on designated test systems
UNAUTHORIZED use of this tool may be ILLEGAL and could result in:
- Criminal prosecution
- Civil liability
- Network/service disruption
- Violation of computer fraud laws
localhost/127.0.0.1- Your own machinescanme.nmap.org- Official nmap test server (port scanning only)- DVWA (Damn Vulnerable Web Application) - Web security testing
- Your own virtual machines or lab environments
- Input Validation: All user inputs are sanitized to prevent injection attacks
- SQL Injection Prevention: PreparedStatements used throughout
- Path Traversal Protection: File paths validated
- Command Injection Prevention: Shell command inputs sanitized
- Rate Limiting: Prevents accidental denial-of-service
- Audit Logging: All scan activities logged for accountability
The application uses H2 embedded database with the following tables:
- hosts - Network hosts (IP, hostname, first/last seen)
- scan_results - Master table for all scan types
- port_scan_details - Specific port scan findings
- alerts - Monitoring alerts
- configuration - Application settings
Location: ~/.networktoolkit/data.mv.db
Configuration is stored in JSON format at: ~/.networktoolkit/config.json
{
"portScan": {
"defaultPortRange": "1-1024",
"timeoutMs": 2000,
"maxThreads": 100,
"enableServiceDetection": true
},
"monitoring": {
"defaultCheckIntervalSeconds": 60,
"alertThresholds": {
"responseTimeMs": 1000,
"consecutiveFailures": 3
}
},
"packetCapture": {
"maxPacketsInMemory": 10000,
"promiscuousMode": true
},
"webScan": {
"userAgent": "NetworkToolkit/1.0",
"timeoutSeconds": 30
},
"database": {
"retentionDays": 30
},
"ui": {
"theme": "dark",
"fontSize": 14
}
}- QUICKSTART.md - Get started in 5 minutes
- RUNNING.md - Comprehensive running and debugging guide
- Implementation Plan - See
.claude/plans/wild-finding-kitten.md
-
Port Scanning:
Target: localhost (127.0.0.1) Ports: 1-1024 Expected: Find open ports (80, 443, etc. if running web server) -
Network Monitoring:
Targets: localhost, google.com Interval: 30 seconds Expected: Track availability and response times -
Packet Capture:
Interface: Primary network adapter Filter: tcp port 80 Expected: Capture HTTP traffic while browsing -
Web Scanning:
Target: http://localhost (DVWA installed) Expected: Detect SQL injection vulnerabilities
Edit src/logback.xml:
<root level="DEBUG"> <!-- Change from INFO -->
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>- Application Log:
~/.networktoolkit/logs/application.log - Scan Log:
~/.networktoolkit/logs/scans.log
# PowerShell
Get-Content "$env:USERPROFILE\.networktoolkit\logs\application.log" -Tail 50 -Wait
# Bash
tail -f ~/.networktoolkit/logs/application.logThis is an educational project. Future enhancements could include:
- SYN scan support (requires raw sockets)
- Advanced OS fingerprinting
- More web vulnerability tests (XSS, CSRF, etc.)
- SSL/TLS cipher suite analysis
- Report generation (PDF export)
- Dark/light theme toggle
- Multi-language support
Educational use only. This tool is provided "as is" without warranty of any kind.
Β© 2026 - Network Toolkit
Inspired by and combines concepts from:
- nmap - Network exploration and security auditing
- Zabbix - Enterprise-class monitoring
- Wireshark - Network protocol analyzer
- Nikto - Web server scanner
Built with:
- OpenJFX, Pcap4J, H2 Database, Jackson, SLF4J, and many other open-source libraries
- Check logs in
~/.networktoolkit/logs/ - Review RUNNING.md for troubleshooting
- Verify all prerequisites are installed
Current Version: 1.0.0 Status: Phase 1 Complete - Ready for Phase 2 Last Updated: March 21, 2026