HTTP Packet Sniffer
Phase 1: Raw Packet Capture
Set up low-level packet capture using Python sockets.
- Capture all incoming and outgoing TCP packets
- Ensure packets are captured in real-time without loss
Functional Output: Application successfully captures raw TCP packets from the network interface.
Phase 2: HTTP Packet Identification
Filter captured packets to identify HTTP traffic.
- Decode packet headers using struct/ctypes
- Separate HTTP requests from other traffic
Functional Output: Only HTTP request packets are displayed and processed.
Phase 3: Real-Time Display of Requests
Display HTTP requests in a structured format in the console.
- Show method, URL, source/destination IP, and timestamp
- Ensure readability and clarity
Functional Output: Users can view real-time HTTP requests with clear fields.
Phase 4: Request Filtering
Implement filters for captured HTTP requests.
- Filter by method type (GET, POST, DELETE, etc.)
- Filter by source or destination IP addresses
Functional Output: Users can view only the requests matching the selected filters.
Phase 5: Detailed Request Inspection
Allow users to inspect individual HTTP requests for details.
- Display headers, request mode, payload, and other metadata
- Provide structured console output
Functional Output: Users can view full details of any selected HTTP request.
Phase 6: Testing, Performance, and Robustness
Add testing and optimize performance for high-volume traffic.
- Ensure no packet loss or crashes under load
- Validate filter accuracy and inspection correctness
Functional Output: Stable, high-performance sniffer with reliable filtering and detailed request inspection.