Emmanuel Corels
← Blog
Networking & ISP Systems

Capture only the packets that matter

This is a practical operator’s guide: establish context, run the smallest useful check, interpret it correctly, and leave a clean recovery path.Our specific objective is capture only the packets that matter.…

By Emmanuel Corels

This is a practical operator’s guide: establish context, run the smallest useful check, interpret it correctly, and leave a clean recovery path.

Our specific objective is capture only the packets that matter. A narrow capture answers a question without burying the signal.

What you need before starting

Use a host on the affected network path plus permission to inspect, but not casually modify, routing and resolver state. Write down the source address, destination, interface, VLAN or subscriber context, time of failure and whether the problem affects one client or a whole segment. Capture a known-good comparison when possible.

Run the diagnostic in a controlled way

Start by printing the command rather than pasting it into an unidentified shell. Confirm every hostname, path and placeholder, then execute it from a session whose output you can preserve.

tcpdump -ni any \"host 1.1.1.1 and port 443\"
  1. Check 1: tcpdump -ni any \"host 1.1.1.1 and port 443\". Run it without piping away errors and retain the complete output.

If the command contains &&, the shell runs the next check only after the previous one exits successfully. That protects the sequence from continuing on obviously invalid input, but it does not prove the result is operationally correct.

How to interpret what you see

Treat DNS, routing, neighbour discovery, transport and application response as separate layers. Follow the first layer that fails instead of changing several network controls at once. For this task, keep returning to the original question: A narrow capture answers a question without burying the signal.

ObservationMeaningNext move
Expected output and exit status 0The diagnostic ran and returned a normal result.Compare it with the baseline and continue to service-level verification.
Empty outputPossibly a healthy state, wrong scope, insufficient privilege or an overly narrow filter.Confirm context and remove one filter at a time.
Permission or connection errorThe observation path failed; it says nothing conclusive about the target service.Fix access or test from an authorized vantage point.
Unexpected large resultThe question may be too broad or the condition may be systemic.Save evidence, narrow by time or component, and avoid impulsive bulk action.

Verification that closes the loop

Repeat the same test from the original source, confirm the selected route and interface counters, then test the actual application protocol rather than relying on ping alone. Record the before and after outputs alongside the exact time and revision. If a user-facing path exists, test it independently; do not substitute an internal status command for customer evidence.

Failure modes worth avoiding

Avoid broad packet captures on busy links, unbounded debug logging, or route changes without an out-of-band path. Redact credentials and payloads before sharing evidence.

The safest operator is not the one who never encounters failure. It is the one who preserves enough evidence to explain the failure and enough control to recover cleanly.

Rollback and handover

Restore the previous route, resolver or interface configuration from the saved copy; clear only the specific transient state involved; then repeat the layer-by-layer test. Close the task with a short note containing the symptom, diagnostic output, decision, verification and any follow-up monitoring.

This guide follows the official reference linked below. Check the documentation for the exact version running in your environment because flags, defaults and output fields can change.

Primary source: Review the official reference ↗