feat(detector): Enhance port detection and service fingerprinting with improved HTTP/HTTPS and SSH checks, update test scripts for verbose output, and revise documentation with new hints and a detailed improvement plan.

This commit is contained in:
2025-05-26 09:40:16 +00:00
parent f54a2908ac
commit 7e1b99827c
11 changed files with 414 additions and 13 deletions

69
readme.plan.md Normal file
View File

@@ -0,0 +1,69 @@
# Detector Module Improvement Plan
Command to reread CLAUDE.md: `cat ~/.claude/CLAUDE.md`
## Current State
- Only detects if ports are active/available
- Has unimplemented `detectType()` method
## Proposed Improvements
### 1. Implement `detectType()` method
- Detect service type running on port (HTTP, HTTPS, SSH, FTP, etc.)
- Use protocol-specific handshakes without external services
### 2. Add Network Interface Detection
- List local network interfaces
- Get IP addresses, MAC addresses
- Detect network connectivity status
### 3. Add Local DNS Capabilities
- Resolve hostnames using local DNS
- Check DNS configuration
- Detect local DNS servers
### 4. Add Protocol Detection
- HTTP/HTTPS detection with TLS version
- WebSocket support detection
- TCP/UDP differentiation
### 5. Add Network Diagnostics
- Ping functionality (ICMP)
- Traceroute capabilities
- MTU discovery
- Network latency measurement
### 6. Add Service Fingerprinting
- Identify common services by banner grabbing
- Detect service versions locally
- Support for common protocols (SSH, FTP, SMTP, etc.)
### 7. Add Local Network Discovery
- Discover devices on local network
- ARP scanning for local subnet
- mDNS/Bonjour service discovery
### 8. Enhance API
- Add batch checking for multiple URLs/ports
- Add timeout configuration
- Add detailed response objects with metadata
## Implementation Priority
1. ✅ Implement `detectType()` - COMPLETED
2. ✅ Add protocol detection for HTTP/HTTPS - COMPLETED
3. ✅ Add service fingerprinting - COMPLETED (basic version)
4. ✅ Create enhanced API with IDetectorResult - COMPLETED
5. Add network diagnostics - TODO
6. Add local network discovery - TODO
7. Add batch operations - TODO
## What Was Implemented
-`detectType()` method with protocol-specific detection
- ✅ HTTP/HTTPS detection with proper protocol handling
- ✅ SSH service detection via banner
- ✅ Service fingerprinting for common protocols (FTP, SMTP, MySQL, etc.)
- ✅ IDetectorResult interface for detailed responses
- ✅ IDetectorOptions for configuration
- ✅ Backward compatibility with `isActiveSimple()` method
- ✅ Banner grabbing for unknown services
- ✅ Tests for new functionality