Skip to main content

Offline IT PCAP analyzer using Zeek, Suricata and tshark.

Project description

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.

Project details


Release history Release notifications | RSS feed

This version

0.6

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

it_pcap_triage-0.6.tar.gz (29.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

it_pcap_triage-0.6-py3-none-any.whl (38.7 kB view details)

Uploaded Python 3

File details

Details for the file it_pcap_triage-0.6.tar.gz.

File metadata

  • Download URL: it_pcap_triage-0.6.tar.gz
  • Upload date:
  • Size: 29.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for it_pcap_triage-0.6.tar.gz
Algorithm Hash digest
SHA256 e32effff89ddea31a765748aade8c708a915ba4bf4147bc2cc742b322e8a0641
MD5 abddaa2cb8104b27f6ba86a30bfe6888
BLAKE2b-256 a66543c18ebb87a02aa8bd2de4cde982e7aa4b37f29e5e37becd5804607cde2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for it_pcap_triage-0.6.tar.gz:

Publisher: publish.yml on h0ek/it-pcap-triage

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file it_pcap_triage-0.6-py3-none-any.whl.

File metadata

  • Download URL: it_pcap_triage-0.6-py3-none-any.whl
  • Upload date:
  • Size: 38.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for it_pcap_triage-0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 dc93312c1017f81e07a934eb07dfcfdebaf124dce75a6cb0d1454d5d313a95fd
MD5 8b219ca2ad270d69ac42ef5d3dfcb237
BLAKE2b-256 653f6ee90241880b0a47cd8be08ba5018ca585b07164a4feaf28b09901b76927

See more details on using hashes here.

Provenance

The following attestation bundles were made for it_pcap_triage-0.6-py3-none-any.whl:

Publisher: publish.yml on h0ek/it-pcap-triage

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page