Skip to content

oxasploits/PacketSnitch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

320 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PacketSnitch

PacketSnitch

Release License Platform


What is PacketSnitch?

PacketSnitch is a network packet analysis tool that combines a Python backend with an Electron frontend to help you explore and filter captured network traffic β€” no command line required after initial setup.

Component Description
Backend Python script (snitch.py) that parses .pcap files and extracts rich per-packet metadata into JSON
Frontend Electron-based desktop application for loading, browsing, filtering, and visualizing traffic

Key Features

  • πŸ“‚ Load PCAP files β€” Point the backend at a capture, then explore interactively in the desktop app
  • πŸ” Powerful filtering β€” Filter by port, country, entropy, MIME type, and more using dot-notation expressions
  • 🌍 GeoIP integration β€” See source/destination locations with country, city, and timezone
  • πŸ“Š Payload analysis β€” Shannon entropy visualization, MIME type detection, hex dump with ASCII view
  • πŸ€– LLM summaries β€” Generate AI-powered analysis reports using Ollama
  • πŸ“‘ Protocol decoding β€” DNS, HTTP, SSL/TLS, DHCP, NTP, SIP, and more

Quick Start

Installation

Download a pre-built release from the releases page:

  • Windows: .exe installer
  • Linux: .deb or .rpm packages

Launch the app with packetsnitch or click the desktop icon.

Basic Workflow

  1. Load PCAP β€” Click Load PCAP to run the backend on a .pcap file
  2. Browse packets β€” Use Prev / Next buttons or select a host from the dropdown
  3. Filter β€” Type expressions like tcp.dst.port:443 and press Enter
  4. Summarize β€” Click Summary for LLM-generated analysis (requires Ollama)

The Interface

PacketSnitch main view

Left Sidebar

Element Description
Target Host Select which IP stream to inspect
Bookmarks Save and jump to specific packets
Save JSON Export current dataset
PCAP size File size of the capture
Load time Time to parse and load data
Total Packets Total packets in dataset
Filtered Packets Packets matching active filter
Timestamp Current packet's capture time

Toolbar

Control Description
Summary Switch to LLM analysis view
Data Return to packet data view
Prev / Next Step through packet list
Filter bar Enter filter expressions
Load JSON Load previously generated hosts.json
Load PCAP Run backend on a .pcap file
Use LLM Toggle Ollama-powered summaries

Packet Info Pane

  • IP Routing β€” Source β†’ destination addresses
  • Network Info β€” Ports with ICANN service names
  • Data Type β€” MIME type, charset, encoding, magic file type
  • Active Recon β€” SSL/TLS details, server banners, DNS hostnames, web page titles (with -a flag)

Packet Payload Pane

  • ASCII View β€” Printable character runs from payload
  • Hex Grid β€” Interactive hex dump; click to highlight bytes and see ASCII

Right Sidebar

Panel Description
Datagram Frame Protocol fields (checksums, DNS, HTTP, DHCP, etc.)
Location GeoIP: country, city, postal code, timezone
Payload Entropy Shannon entropy as number + visual indicator

Filtering

Filter expressions use dot-notation keys, comparison operators, and boolean combinators:

# HTTPS traffic only
tcp.dst.port:443

# Traffic from China
loc.src.country:China

# High-entropy payloads (encrypted/compressed)
payload.entropy:>=7.0

# HTTP POST with JSON
http.method:POST && payload.mime:application/json

# Large encrypted payloads from external IPs
tcp.dst.port:443 && payload.len:>500 && payload.entropy:>=7.0 && ip.src.class:!=Localnet
  • String comparisons are case-insensitive
  • Press Enter to apply, clear and press Enter again to reset

See the Filter Reference for the complete list of keys and syntax.

Filter example


Documentation

  • πŸ“– Frontend Docs β€” UI reference, installation, developer setup
  • βš™οΈ Backend Docs β€” snitch.py usage, arguments, output structure
  • πŸ”Ž Filter Reference β€” Complete filter keys, operators, examples

License

GNU GPLv3 β€” See LICENSE.md for details.


Author

Marshall Whittaker


Support the Project

If you find PacketSnitch useful, please consider supporting its development:

Thanks.dev

Bitcoin Β Β  PayPal Β Β  Venmo