- Init: Setup Go module.
- Parser: Implement
gopacketstreaming reader. - Stream Reassembly: Build the 5-tuple hash map to track TCP states.
- Analyzer Modules:
- Retransmission Detector: Track duplicate sequence numbers.
- Timing Analyzer: Calculate deltas (SYN->SYN-ACK, Request->Response).
- Pattern Matcher: Implement "Dillon's Symptoms" logic (Low MSS + High Retrans + Timeout).
- Protocol Detection: Basic HTTP and TLS detection.
- MSS Extraction: Extract MSS from TCP Options.
- API: Create
POST /upload(streaming upload) andGET /analysis/:id. - Persistence: Design schema for
Analyses,Streams.- Note: Implemented using SQLite and GORM for robust local persistence without Docker dependency.
- Job Queue: Use Redis to track "Processing", "Completed", "Failed" states.
- Current: Using Go goroutines (async) with synchronous state initialization.
- Upload UI: Drag-and-drop zone with progress bar.
- Dashboard: Summary cards (Total Streams, Issues Found).
- Stream List: Virtualized list/Table to handle streams.
- Note: Implemented with Pagination (Top 50) and Filtering (Source, Dest, Protocol) for performance.
- Detail View: The "Ladder Diagram" (Sequence Diagram).
- Network Topology: Use React Flow to visualize connections between IPs.
- Packet Drill-down: Use react-hex-editor (or custom) to display raw packet payloads.
- Timeline View: Implement a "Ladder Diagram" using Recharts.
- Advanced Protocol Detection: Integrate go-dpi (or custom signatures) for deep packet inspection.
- Reporting: Export to PDF/JSON.
- Docker Setup: Dockerfiles and Compose created (but currently using local dev due to environment issues).
- Local Dev: Configured Vite Proxy to bypass CORS issues seamlessly.
- Git: Repository initialized and code pushed to GitHub.