How to identify packet loss from a capture

A packet capture can show evidence consistent with loss, but one trace cannot always distinguish network loss from packets missed by the capture system.

By Stuart Mathieson8 minute readTCP sequence analysisUpdated 25 September 2026

What loss looks like in TCP

TCP numbers bytes and acknowledges the next byte expected. If one segment is missing but later data arrives, the receiver repeats the same acknowledgement. The sender then retransmits the missing sequence range, either after enough duplicate ACKs or after a timeout.

A useful Wireshark starting filter is:

tcp.analysis.retransmission ||
tcp.analysis.fast_retransmission ||
tcp.analysis.lost_segment ||
tcp.analysis.duplicate_ack

These are Wireshark analysis labels, inferred from the packets available to it. Inspect them within one conversation rather than treating the global count as a loss percentage.

Investigate one flow

  1. Select a marked packet and isolate its tcp.stream.
  2. Find the first sequence gap or duplicate ACK.
  3. Note which direction carried the missing data.
  4. Measure the delay until retransmission and recovery.
  5. Check whether application progress stopped during the event.

Fast retransmission after duplicate ACKs is strong evidence that later bytes reached the receiver before an earlier range. A timeout-based retransmission shows the sender did not receive adequate acknowledgement before its timer expired, but the missing item could be data or an ACK.

Use tshark for a compact event list

tshark -r capture.pcapng \
  -Y "tcp.analysis.retransmission || tcp.analysis.fast_retransmission || tcp.analysis.duplicate_ack" \
  -T fields -E header=y \
  -e frame.number -e frame.time_relative -e tcp.stream \
  -e ip.src -e ip.dst -e tcp.seq -e tcp.ack -e tcp.len \
  -e _ws.col.info

Sort or group by tcp.stream. A handful of isolated events across hours may be unimportant; repeated bursts in the same business-critical flow deserve attention.

Rule out false conclusions

Do not calculate network loss as “retransmissions divided by all packets.”

ACK-only packets, multiple flows, capture gaps and repeated retransmissions distort that ratio. Measure within a direction and flow, using unique TCP sequence ranges and corroborating ACK behaviour.

Locate the point of loss

Capture simultaneously near both endpoints. If a data packet appears on the sender-side trace but not the receiver-side trace, while surrounding packets appear on both, the loss lies somewhere between those observation points. If it is absent from both, it may never have left the sender. If it appears at the receiver but its ACK does not reach the sender, investigate the reverse path.

Synchronised clocks help with timing, but sequence numbers and payload lengths are the more reliable way to match the same TCP data across traces.

Manual method vs PCAPNG Analyzer

Manual method

  1. Filter TCP analysis events.
  2. Isolate an affected stream.
  3. Inspect sequence gaps, duplicate ACKs and retransmission timing.
  4. Check capture health and offload effects.
  5. Compare synchronized traces to locate the loss.

With PCAPNG Analyzer

  1. Upload or auto-ingest the capture.
  2. Use talker and conversation summaries to find affected flows.
  3. In Pro, review the TCP retransmissions finding and its top flows.
  4. Filter packets by endpoints, port and time to validate the event.
  5. Compare results from captures taken at different points.
Use detection as triage

The Pro retransmission detector looks for repeated TCP data sequence numbers and reports the highest-volume flows. It accelerates triage, but only capture context and acknowledgement behaviour can establish whether the network, endpoint or observation system lost the packet.

Find the flows worth investigating first

Generate conversation summaries and retransmission findings while keeping every capture on your own infrastructure.

Compare Free and ProSelf-host it