[User CLI] → [Controller] → [Packet Scheduler] → [Sender Engine] → [NIC]
↓
[Result Processor] ← [ML Classifier] ← [Receiver Engine] ← [NIC]
↓
[Database / JSON / Log]
For power users, KPortScan 3.0 includes a built-in Lua-based scripting engine. You can write simple scripts that:
Predefined profiles (e.g., "Web Servers", "Database Ports", "Kubernetes Nodes") allow one-click scanning. Users can also define custom port lists or ranges (e.g., 22,80,443,8000-9000).
kportscan [targets] [options]
| Limitation | Impact | Mitigation |
|------------|--------|-------------|
| No TCP connect scan for localhost | Cannot bypass host firewall rules | Use --force-tcp-connect flag |
| Requires root/admin for raw sockets | Not user-friendly | Provide capabilities/CAP_NET_RAW |
| IPv6 full subnet scan impossible | User may attempt | Hard limit: abort if >1M targets |
| UDP scanning unreliable | Packet loss high | Use retransmission with exponential backoff |
| Cloud scanning may violate ToS | Legal risk | Warn user; require --cloud-compliance-ack |
| eBPF requires kernel 5.8+ | Legacy systems unsupported | Fallback to raw socket mode |