Skip to main content

IT PCAP Triage

Offline analyzer for enterprise IT packet captures.

IT PCAP Triage runs Zeek, Suricata, capinfos and compact tshark protocol summaries against a PCAP/PCAPNG file. It parses their output, correlates activity by host/protocol, scores findings and generates a compact HTML security report.

The project does not implement its own packet inspection engine. It orchestrates trusted offline engines and turns their output into an evidence-based security report.

Architecture

PCAP
 ├── Zeek       → behavioral logs / metadata / protocol logs
 ├── Suricata   → IDS alerts / IOC / exploit-pattern alerts
 ├── capinfos   → PCAP metadata
 ├── tshark     → protocol hierarchy summary
 └── Python     → correlation / scoring / SQLite evidence / HTML report

TShark is not used to dump huge raw conversation logs into the report. It is used as a compact statistics source. Conversation, endpoint, top talker, service and port summaries are calculated from Zeek conn.log.

Focus areas

  • cleartext protocols and exposed credentials,
  • legacy/insecure IT protocols,
  • SMB/NTLM/Kerberos/LDAP/Windows network risks,
  • DNS abuse and tunneling indicators,
  • TLS and HTTP hygiene issues,
  • scanning and lateral movement patterns,
  • Suricata IDS alerts,
  • suspicious beaconing and data movement,
  • policy violations based on a user-defined network baseline.

Required system tools

The tool fails closed if any required engine is missing:

  • zeek
  • suricata
  • tshark
  • capinfos

Install system dependencies

Debian / Ubuntu / Kali

sudo apt update
sudo apt install -y python3 python3-pip pipx tshark zeek suricata

Fedora

sudo dnf install -y python3 python3-pip pipx wireshark-cli zeek suricata

Make sure pipx is available in your shell:

pipx ensurepath

Restart your shell if needed.

Install IT PCAP Triage

Install from PyPI with pipx:

pipx install it-pcap-triage

Check the installation and required system tools:

it-pcap-triage check

Run analysis:

it-pcap-triage analyze samples/test.pcapng --out out/test-report

Open the report:

xdg-open out/test-report/report.html

Output

out/test-report/
├── report.html
├── summary.json
├── findings.json
├── hosts.json
├── timings.json
├── triage.db
├── logs/
│   └── run.log
└── engines/
    ├── zeek/
    ├── suricata/
    └── tshark/

The main output is:

report.html

The JSON files and SQLite database are intended for automation, debugging and deeper investigation.

Advanced: Evidence DB

The analysis also creates a SQLite evidence store:

triage.db

Useful inspection commands:

sqlite3 out/test-report/triage.db '.tables'
sqlite3 out/test-report/triage.db \
  'select severity, category, title from findings order by id;'
sqlite3 out/test-report/triage.db \
  'select host, risk_score, suricata_alerts, peers_count from host_profiles order by risk_score desc limit 20;'
sqlite3 out/test-report/triage.db \
  'select src_ip, dest_ip, signature, severity from suricata_alerts limit 20;'

Reference mapping policy

The project does not bundle NIST PDFs, CIS PDFs, MITRE STIX bundles or other third-party source documents.

Runtime enrichment uses curated source names and mappings in:

src/it_pcap_triage/data/reference_catalog.yml
src/it_pcap_triage/data/security_mappings.yml

This avoids redistributing third-party documents and keeps the report clear about which public framework or document each recommendation is based on.

The report references documents by name, section/control/technique and URL where applicable, for example:

NIST SP 800-52 Rev.2
NIST SP 800-81 Rev.3
NIST SP 800-41 Rev.1
CIS Controls v8.1
MITRE ATT&CK Enterprise

Local development

git clone https://github.com/h0ek/it-pcap-triage.git
cd it-pcap-triage

python3 -m venv .venv
source .venv/bin/activate

pip install -e .

Run locally:

it-pcap-triage check
it-pcap-triage analyze samples/test.pcapng --out out/test-report

Limitations

This is a triage tool, not a SIEM, permanent IDS sensor or full forensic platform.

Findings such as DNS tunneling, beaconing, lateral movement or ransomware-like behavior are indicators and require validation.

Release files for it-pcap-triage 0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for it-pcap-triage 0.6
File Size Uploaded
it_pcap_triage-0.6.tar.gz 29.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for it-pcap-triage 0.6
File Interpreter ABI Platform
it_pcap_triage-0.6-py3-none-any.whl Python 3 none any Details

Total release size: 68.1 kB

Release files / it_pcap_triage-0.6.tar.gz

Download URL it_pcap_triage-0.6.tar.gz
Size 29.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e32effff89ddea31a765748aade8c708a915ba4bf4147bc2cc742b322e8a0641
BLAKE2b-256 checksum
How to use checksums
a66543c18ebb87a02aa8bd2de4cde982e7aa4b37f29e5e37becd5804607cde2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 23, 2026.

Transparency log

Release files / it_pcap_triage-0.6-py3-none-any.whl

Download URL it_pcap_triage-0.6-py3-none-any.whl
Size 38.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc93312c1017f81e07a934eb07dfcfdebaf124dce75a6cb0d1454d5d313a95fd
BLAKE2b-256 checksum
How to use checksums
653f6ee90241880b0a47cd8be08ba5018ca585b07164a4feaf28b09901b76927
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.6 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page