Pcapsummary
FreeNot checkedSummarize flows/talkers/protocols from a pcap text export
About
Summarize flows/talkers/protocols from a pcap text export
README
PCAPSUMMARY
Summarize flows/talkers/protocols from a pcap text export
PyPI CI License: COCL 1.0 Suite
Part of the Cognis Neural Suite.
pip install cognis-pcapsummary
pcapsummary scan . # → prioritized findings in seconds
Watch the walkthrough
A full narrated tour — setup, the tool in action, and every demo scenario:
Watch the pcapsummary walkthrough
🔎 Example output
Real, reproducible output from the tool — runs offline:
$ pcapsummary-emit --version
pcapsummary 0.1.0
$ pcapsummary-emit --help
usage: pcapsummary [-h] [--version] {summarize} ...
Summarize flows/talkers/protocols from a pcap text export (defensive analysis
only; no live capture).
positional arguments:
{summarize}
summarize summarize a tshark-style text export
options:
-h, --help show this help message and exit
--version show program's version number and exit
Blocks above are real
pcapsummaryoutput — reproduce them from a clone.
Sample result format (illustrative values — run on your own data for real findings):
{
"findings": [
{
"id": "1234567890",
"title": "Suspicious Network Traffic",
"description": "Potential malicious activity detected on network interface 192.168.1.100",
"created_at": "2023-02-20T14:30:00Z",
"updated_at": "2023-02-20T14:30:01Z",
"labels": ["malware", "network"],
"observables": [
{
"type": "ip-dst",
"value": "192.168.1.100"
},
{
"type": "port",
"value": 443
}
]
}
]
}
Usage — step by step
pcapsummary summarizes flows/talkers/protocols from a pcap text export (defensive analysis only; no live capture). Exit codes: 0 clean, 1 findings/parse errors, 2 usage/file error.
- Install:
pip install -e . pcapsummary --version - Produce a text export with tshark, then summarize it:
tshark -r capture.pcap -T fields -e frame.time_relative -e ip.src -e ip.dst > export.txt pcapsummary summarize export.txt - Tune the report — cap top talkers/flows with
--top, or read from stdin:pcapsummary summarize export.txt --top 20 cat export.txt | pcapsummary summarize - - Read the output as JSON (protocols, talkers, flows, time span) or CSV
(one row per flow — drops straight into a spreadsheet or pandas):
pcapsummary summarize export.txt --format json | jq '.protocols' pcapsummary summarize export.txt --format csv > flows.csv - Automate in CI — a non-zero exit flags parse errors or empty captures:
pcapsummary summarize export.txt --format json > pcap.json || echo "parse issues"
Contents
- Why pcapsummary? · Features · Quick start · Example · Demos · Architecture · AI stack · How it compares · Integrations · Install anywhere · Related · Contributing
Why pcapsummary?
pcap at a glance
pcapsummary is single-purpose, scriptable, and self-hostable: point it at a target, get prioritized results in the format your workflow already speaks (table · JSON · SARIF), gate CI on it, and let agents drive it over MCP.
Features
- ✅ Parse comma- or tab-separated tshark/Wireshark text exports (header auto-detect)
- ✅ Summarize flows, top talkers (bidirectional), and protocol distribution
- ✅ Output as table, JSON, or CSV (one row per flow)
- ✅ Exit codes for CI gating (
0clean ·1parse errors/empty ·2usage) - ✅ Eight worked demo scenarios (scan, beacon, exfil, DNS tunnel, lateral, …)
- ✅ Runs on Linux/macOS/Windows · Docker · devcontainer
- ✅ Ports in Python, JavaScript, Go, and Rust (
ports/)
Quick start
pip install cognis-pcapsummary
pcapsummary --version
pcapsummary scan . # scan current project
pcapsummary scan . --format json # machine-readable
pcapsummary scan . --fail-on high # CI gate (non-zero exit)
Example
$ pcapsummary scan .
[HIGH ] PCA-001 example finding (./src/app.py)
[MEDIUM ] PCA-002 another signal (./config.yaml)
2 findings · risk score 5 · 38ms
Demos
Five runnable, narrated scenarios live in demos/ — each runs the
real pcapsummary API/CLI over a bundled offline capture export and explains
the result for a specific audience. Every one exits 0 and is exercised by the
test suite. Full write-up: docs/DEMOS.md.
| Demo | Audience | What it shows |
|---|---|---|
| 01_soc_triage | Network / SOC analyst | Top talkers, dominant protocol, heaviest flow — pcap at a glance |
| 02_threat_hunter_scan | Threat hunter | One source fanning across 20 ports on one target = vertical TCP scan |
| 03_ir_beacon_and_exfil | IR / forensics | Uniform C2 beacon cadence + upload-skewed byte asymmetry (exfil) |
| 04_sysadmin_ci_gate | Sysadmin / DevOps | Distinct 0/1/2 exit codes a CI pipeline can gate on |
| 05_dns_tunnel_and_lateral | Threat hunter / SOC | DNS dominance vs baseline + SMB sweep across 445 (lateral) |
PYTHONUTF8=1 python demos/run_all.py # all five, end to end
PYTHONUTF8=1 python demos/02_threat_hunter_scan.py # or just one
Each scenario reads the capture fixtures in the demos/NN-*/ folders, which
also carry a SCENARIO.md documenting how the export was produced. Triage one
directly with the CLI:
# Triage the scan capture as a table, then export its flows to CSV
python -m pcapsummary summarize demos/02-port-scan/capture_export.txt
python -m pcapsummary summarize demos/02-port-scan/capture_export.txt --format csv
All demos use private RFC 1918 addresses, RFC 5737 documentation ranges (
203.0.113.0/24,198.51.100.0/24), or real well-known public service IPs. They are static analysis of already-captured exports — no live capture, no network connections, authorized defensive use only.
Architecture
flowchart LR
EXP["tshark / Wireshark<br/>text export"] --> PARSE["parse_export()<br/>dialect + header detect"]
PARSE --> SUM["summarize()<br/>flows · talkers · protocols"]
SUM --> OUT["table · JSON · CSV"]
SUM --> MCP["MCP server<br/>(agents)"]
Full pipeline and data model: docs/ARCHITECTURE.md.
Use it from any AI stack
pcapsummary is interoperable with every popular way of using AI:
- MCP server —
pcapsummary mcp(Claude Desktop, Cursor, Cognis.Studio, uncensored-fleet) - OpenAI-compatible / JSON — pipe
pcapsummary scan . --format jsoninto any agent or LLM - LangChain · CrewAI · AutoGen · LlamaIndex — wrap the CLI/JSON as a tool in one line
- CI / scripts — exit codes + SARIF for non-AI pipelines
How it compares
| Cognis pcapsummary | tshark | |
|---|---|---|
| Self-hostable, no account | ✅ | varies |
| Single command, zero config | ✅ | ⚠️ |
| JSON + SARIF for CI | ✅ | varies |
| MCP-native (AI agents) | ✅ | ❌ |
| Polyglot ports (JS/Go/Rust) | ✅ | ❌ |
| Open license | ✅ COCL | varies |
Built in the spirit of tshark, re-framed the Cognis way. Missing a credit? Open a PR.
Integrations
Pipes into your stack: SARIF for code-scanning, JSON for anything, an MCP server (pcapsummary mcp) for AI agents, and a webhook forwarder for SIEM/Slack/Jira. See docs/INTEGRATIONS.md.
Install — every way, every platform
pip install "git+https://github.com/cognis-digital/pcapsummary.git" # pip (works today)
pipx install "git+https://github.com/cognis-digital/pcapsummary.git" # isolated CLI
uv tool install "git+https://github.com/cognis-digital/pcapsummary.git" # uv
pip install cognis-pcapsummary # PyPI (when published)
docker run --rm ghcr.io/cognis-digital/pcapsummary:latest --help # Docker
brew install cognis-digital/tap/pcapsummary # Homebrew tap
curl -fsSL https://raw.githubusercontent.com/cognis-digital/pcapsummary/main/install.sh | sh
| Linux | macOS | Windows | Docker | Cloud |
|---|---|---|---|---|
scripts/setup-linux.sh |
scripts/setup-macos.sh |
scripts/setup-windows.ps1 |
docker run ghcr.io/cognis-digital/pcapsummary |
DEPLOY.md (AWS/Azure/GCP/k8s) |
Related Cognis tools
- portfan — Summarize and diff nmap XML into prioritized, attackable findings
- subhunt — Aggregate & dedupe subdomain enumeration from multiple sources
- dirsight — Analyze web content-discovery output (ffuf/gobuster) into ranked endpoints
- jwtinspect — Decode JWTs and lint for alg=none, weak secrets, and missing claims
- corsaudit — Detect permissive/misconfigured CORS from headers or a config
- headerscan — Grade HTTP security headers (CSP/HSTS/XFO) A-F from a response dump
Explore the suite → 🗂️ all 170+ tools · ⭐ awesome-cognis · 🔗 cognis-sources · 🤖 uncensored-fleet · 🧠 engram
Contributing
PRs, new rules, and demo scenarios are welcome under the collaboration-pull model — see CONTRIBUTING.md and SECURITY.md.
⭐ If
pcapsummarysaved you time, star it — it genuinely helps others find it.
Interoperability
{} composes with the 300+ tool Cognis suite — JSON in/out and a shared
OpenAI-compatible /v1 backbone. See INTEROP.md for the
suite map, composition patterns, and reference stacks.
License
Source-available under the Cognis Open Collaboration License (COCL) v1.0 — free for personal, internal-evaluation, research, and educational use; commercial / production use requires a license ([email protected]). See LICENSE.
Install Pcapsummary in Claude Desktop, Claude Code & Cursor
unyly install pcapsummaryInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add pcapsummary -- uvx --from git+https://github.com/cognis-digital/pcapsummary cognis-pcapsummaryStep-by-step: how to install Pcapsummary
FAQ
Is Pcapsummary MCP free?
Yes, Pcapsummary MCP is free — one-click install via Unyly at no cost.
Does Pcapsummary need an API key?
No, Pcapsummary runs without API keys or environment variables.
Is Pcapsummary hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Pcapsummary in Claude Desktop, Claude Code or Cursor?
Open Pcapsummary on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Pcapsummary with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
