Why the Powerful ss Command Is Gradually Replacing netstat
Socket Search
© Lead Image ©Ioannis Kounadeas, Fotolia.com
We take a close look at the Socket Statistics utility ss and show why it is better than netstat for forensics, troubleshooting, and other networking tasks.
Anyone who has been around Linux long enough remembers when netstat [1] was the unquestioned go-to tool for checking socket activity. Whether you needed to confirm a process was listening, trace an unexpected connection, or sanity-check a server during an outage, netstat felt dependable. Because netstat was part of the Linux ecosystem for so long, most administrators stopped thinking about how it actually gathered its information. It simply worked, at least, until modern workloads exposed its age.
The core limitation of netstat comes from its reliance on parsing text inside /proc/net/. Every time the command runs, it has to read and interpret multiple pseudo-files line by line. The approach originated when Linux systems handled far fewer connections and application architectures were simpler. As long as socket tables remained small, the overhead of parsing them wasn't noticeable. But as servers began hosting thousands of short-lived connections, this design started to buckle.
When netstat parses /proc [2], it has to rebuild its view of the system from scratch each time. On a lightly loaded system, this might take only a moment. But on a busy reverse proxy, an API gateway, or a container-heavy host, those pseudo-files can grow large enough that the command feels sluggish or inconsistent. The delay is minor when measured in seconds, but during a live incident, those seconds are exactly when you need an up-to-date picture of what the network stack is doing.
[...]
Buy this article as PDF
(incl. VAT)