How to diagnose TCP retransmissions from a PCAP

A retransmission is a symptom, not a diagnosis. The useful question is which flow is affected, where the capture was taken, and what happened immediately before the repeated bytes.

By Stuart Mathieson8 minute readWireshark + tsharkUpdated 25 September 2026
In this guide
  1. Find suspected retransmissions
  2. Validate the evidence
  3. Work out the likely cause
  4. Manual vs automated workflow

1. Find suspected retransmissions

Open the capture in Wireshark and apply this display filter:

tcp.analysis.retransmission || tcp.analysis.fast_retransmission || tcp.analysis.spurious_retransmission

These are analysis fields inferred by Wireshark from the packets visible at the capture point. They are not flags transmitted on the wire. A matching packet means Wireshark saw TCP sequence space that appears to have been sent before.

For a command-line list with the frame number, time, endpoints and sequence number:

tshark -r capture.pcapng \
  -Y "tcp.analysis.retransmission || tcp.analysis.fast_retransmission" \
  -T fields -E header=y \
  -e frame.number -e frame.time_relative \
  -e ip.src -e tcp.srcport -e ip.dst -e tcp.dstport \
  -e tcp.seq -e tcp.len

The official TCP display-field reference documents the analysis fields, while the tshark manual explains -r, -Y and field output.

2. Validate one affected conversation

Counts across an entire capture hide the shape of the problem. Select a suspected packet, note its tcp.stream value, then filter to that conversation:

tcp.stream eq 17

Check the packet before the retransmission and the acknowledgements travelling in the opposite direction. Useful signs include:

Use Analyze → Expert Information for a summary, then Follow → TCP Stream to understand the application impact. The round-trip-time graph and TCP stream graph can reveal whether delay rose before loss.

Do not assume every marked retransmission crossed the network twice.

Capturing on the sending host can expose offload behaviour, duplicate observation paths or out-of-order capture delivery. SPAN ports can also drop packets. Compare a capture near each endpoint before assigning blame.

3. Work out the likely cause

First determine direction. If the repeated data travels from client to server, look for missing ACK progress from the server side; if it travels the other way, reverse the reasoning. Then correlate the event with:

A single capture rarely proves the physical point of loss. It proves what was visible at one observation point. The strongest diagnosis comes from synchronized captures on both sides of the suspected segment.

Manual method vs PCAPNG Analyzer

Manual method

  1. Open the capture in Wireshark.
  2. Apply TCP analysis filters.
  3. Choose an affected stream.
  4. Inspect sequence, ACK and timing context.
  5. Graph RTT and compare capture points.

With PCAPNG Analyzer

  1. Upload the capture or place it in a watched folder.
  2. Open the generated protocol, talker and conversation report.
  3. In Pro, review the TCP retransmissions finding and top affected flows.
  4. Filter the packet list by endpoints, ports, time and TCP flags for validation.
What the report adds

The Pro detector estimates repeated TCP data segments and highlights the busiest affected flows. Treat the result as a starting point: capture placement and sequence context still decide whether the underlying cause is network loss, reordering or a capture artefact.

Turn a large capture into a readable report

Run PCAPNG Analyzer on your own server. Your packet data stays on infrastructure you control.

Compare Free and ProSelf-host it