How to compare PCAP files before and after a network change

A useful comparison controls the conditions first. Otherwise a longer capture, a busier user population or a different observation point can look like a regression that the change never caused.

By Stuart Mathieson8 minute readChange validationUpdated 25 September 2026
In this guide
  1. Design a fair capture
  2. Compare summaries
  3. Normalise the data
  4. Validate important deltas
  5. Manual vs automated workflow

1. Design the comparison before collecting

Use the same capture point, interface, direction, capture filter, snap length and approximate test duration. Repeat the same workload where possible. Record software versions, configuration state and the precise change time.

A defensible pair might be “five minutes from the application host during the same synthetic transaction, immediately before and after the proxy change.” Two arbitrary captures from different weekdays are a weak basis for causation.

Keep a control if the change matters.

A simultaneous capture from an unaffected service or path helps distinguish your change from a wider load spike, DNS issue or upstream event.

2. Compare in layers

Start broad and move toward the reported symptom:

  1. Capture identity: duration, packet count, bytes and observed rate.
  2. Protocol mix: unexpected growth or disappearance of a protocol.
  3. Endpoints: new, missing or newly dominant addresses.
  4. Conversations: changes in destination, direction or volume.
  5. Application metadata: DNS names, HTTP hosts and methods, TLS SNI.
  6. Symptoms: retransmissions, resets, failed handshakes, DNS errors or response timing.

Wireshark statistics can be copied as CSV or JSON for an external diff. tshark is helpful when you want identical commands for both files:

tshark -r before.pcapng -q -z endpoints,ip -z conv,tcp
tshark -r after.pcapng  -q -z endpoints,ip -z conv,tcp

3. Normalise unequal captures

Do not compare raw packet counts when one capture lasts twice as long. At minimum, calculate packets per second and bytes per second. For a specific transaction, compare equivalent stages or windows rather than the entire file.

Ratios can also be more meaningful than totals:

Be explicit about the denominator and the detector or display filter used. Different tools may count symptoms differently.

4. Look for new and missing dependencies

A route, proxy, DNS or firewall change often alters who communicates rather than simply how much. Compare destination IPs, DNS queries, TLS server names and HTTP hosts. A new address may be expected service discovery, failover or CDN selection; a missing address may mean successful consolidation or a failed request path.

Changes in protocol distribution deserve the same caution. More DNS packets could mean a resolver problem, a shorter cache lifetime, more clients, or merely a longer capture.

5. Validate the delta at packet level

Once a difference aligns with the reported symptom, isolate the comparable conversation in both files. Check:

A summary delta is a lead. The surrounding packets and synchronized observations are what support a causal explanation.

Manual method vs PCAPNG Analyzer

Manual method

  1. Collect controlled before and after files.
  2. Run the same Wireshark or tshark statistics on each.
  3. Export and normalise the results.
  4. Identify meaningful deltas.
  5. Inspect equivalent streams in both captures.

With PCAPNG Analyzer

  1. Analyse both captures.
  2. Select exactly two completed files in History.
  3. Open Compare Selected.
  4. Review totals, protocol counts, IP changes, TCP flags, DNS, HTTP and TLS SNI deltas.
  5. Account for duration, then validate relevant packets.
Important limitation

The comparison view presents raw values and deltas. It does not prove that the network change caused them, and unequal capture durations still require you to normalise the figures.

Keep before-and-after reports together

Capture comparison is included in the Free tier and runs on your own server.

Start freeView sample report