Having the right tools is very important for managing and fixing networks on Linux systems. The ss (socket statistics) command is one of the most powerful and useful tools for looking into sockets, connections, and network statistics. In this post, we’ll talk about what the “ss” command is, what it does, and how to use it in real life.
What is the ss Command?
The ss command is a tool that dumps socket statistics and shows information that is similar to what you would get with the older netstat tool. But “ss” is faster, gives more information, and is now the best way to look at network sockets on modern Linux distributions.
Why Choose ss Over netstat?
While netstat has been a staple for network diagnostics, it is now deprecated in many distributions in favor of ss. Here’s why:
- Speed: ss leverages /proc files directly, making it significantly faster.
- Detail: It provides more detailed information about sockets.
- Active Development: ss is actively maintained, ensuring compatibility with the latest Linux kernels and features.
Basic Syntax
The basic syntax for the ss command is:
ss [options]
You can combine options to tailor the output to your needs.
Common Use Cases and Examples
1. Display All Connections
To display all current TCP, UDP, and Unix socket connections:
ss -a
2. Show Listening Sockets
To list all listening sockets (commonly used by servers):
ss -l
3. Filter by Protocol
To view only TCP connections:
ss -t
For UDP connections:
ss -u
4. Show Process Information
To display the processes using each socket:
ss -p
5. Display Listening TCP Ports with Process Info
ss -ltp
6. Find Connections on a Specific Port
For example, to see connections on port 80:
ss -t state listening '( sport = :80 )'
7. Show All IPv4 and IPv6 Connections
ss -4 # IPv4 only ss -6 # IPv6 only
Key Options and Flags
- a: Show all sockets (listening and non-listening)
- l: Display only listening sockets
- t: Show TCP sockets
- u: Show UDP sockets
- p: Show process using socket
- n: Don’t resolve service names
Conclusion
The “ss” command is an important tool for anyone who works with Linux systems or networks. It is the modern standard for investigating and fixing socket problems because it is fast, flexible, and has a lot of features. If you learn how to use “ss,” you can quickly see what’s going on with your system’s network and fix connection problems quickly. The ss command should be in your Linux toolkit if you want to debug a service, keep an eye on active connections, or make sure security.
Further Reading:
- To see the full documentation, type man ss in your terminal or go to the Linux man pages online.