Files
rea/docs/pcap-analysis.md
T
Quentin LimoandN0zoM1z0 9581e067ad feat(pcap): add bounded capture summaries through CLI and MCP
Summarize saved Wireshark4.x captures with enforced native resource limits, serialized admission, stable snapshot verification and retained fact/text pages. Preserve complete inventories within resource budgets and source uncertainty; report cleanup failure with partial Evidence and retained ownership.

Verified six recorded corpora /13026 packets with independent Scapy/Python oracles, real CLI/MCP/schema parity,60 SNI names,132 DNS addresses and1000 URIs. Real TShark CI now exercises summary/paging. Actual Windows/Bun Wireshark remains unverified; macOS capture requires a separate enforceable-bound decision.

Co-authored-by: 3QL <85309073+3QL@users.noreply.github.com>
Co-authored-by: N0zoM1z0 <161784452+N0zoM1z0@users.noreply.github.com>
2026-10-13 04:53:03 +00:00

6.3 KiB

Packet capture summaries

REA summarizes already saved pcap/pcapng files through caller-selected Wireshark 4.x tshark and capinfos. Use inspect_packet_capture for selected fields, filters and decode-as rules; use this family for address, DNS, SNI, protocol-stack and URI inventories. It does not acquire traffic or fetch recorded targets.

Supply tools

export REA_TSHARK_COMMAND=/absolute/path/tshark
export REA_CAPINFOS_COMMAND=/absolute/path/capinfos
# Linux only; default /usr/bin/prlimit
export REA_TSHARK_PRLIMIT_COMMAND=/absolute/path/prlimit
rea inspect-pcap-client
rea inspect-pcap-capture /captures/session.pcapng --json

Without explicit tool commands, this family resolves them through PATH and records that selection source. Client inspection reads no capture file. Capture inspection requires Linux with util-linux prlimit or Windows with owned Job Objects. macOS capture inspection returns a capability gap because the new native memory boundary is unverified; its version probes remain available. Tools and installed libraries/plugins are caller-trusted. An empty private personal Wireshark configuration is used; this is not an OS sandbox.

Inspect only the needed facts

MCP inspect_pcap_capture accepts path and optional detail: "summary". Complete delivery remains the default. Summary commits and retains the same complete Evidence, returning identity, capture metadata, observed counts, retained counts, source coverage and diagnostic lengths without large lists. Then use its normalized_result.parent_evidence_id with inspect_analysis_view source kind retained-evidence:

{"kind":"pcap","facet":"endpoints","offset":0,"limit":20}
{"kind":"pcap","facet":"dns-queries","offset":0,