curl for Network Engineers: Ports, HTTP, APIs
Prove a port is open, split DNS from TCP from server think time, test a device API and read a TLS failure, all with real output from a routed lab.
Prove a port is open, split DNS from TCP from server think time, test a device API and read a TLS failure, all with real output from a routed lab.
dig tests a nameserver. getent tests name resolution. The full path from nsswitch.conf to the wire, with the resolver deliberately broken and fixed.
One name in, one line out, and the only exit status of the three you can trust. Plus the timing test that complicates the fastest claim.
Declared deprecated for twenty years and still on every machine. What it does well, where it will mislead you, and the debug flag nobody uses.
Read the status line first. Flags, sections, TTLs, delegation traces and DNSSEC, all against a real authoritative server in the lab.
The full command map, wall clock timings on a host holding ten thousand sockets, and the surprise result when you add process lookup.
Queue columns that tell you which end stopped working, filters that run in the kernel, and the TCP internals nothing else on the box will give you.
Small things work and big things hang. One unprivileged command finds the narrow link, and one iptables rule shows what a black hole looks like.
Loss and latency per hop against a link with 12 percent loss injected on purpose, and the one rule that separates real loss from cosmetic loss.
Three probe types down one four hop path, the packets on the wire for each, and the ICMP rate limit that makes a perfect path look broken.
Devices against connection profiles, the activation step everybody forgets, and how to make a configuration survive a reboot.
The driver layer below the kernel: link settings, offloads that make packet captures disagree with the wire, rings, and where host-side drops show up.