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.