netstat (network statistics) is a command-line tool that displays network connections (both incoming and outgoing), routing tables, and a number of network interface statistics. It is available on Linux, Unix-like, and Windows operating systems. netstat is powerful and can be a handy tool to troubleshoot network-related issues and verify connection statistics. If you type netstat -help, you will get the following usage guidelines. Let me show you some of the examples of the command. The following are tested on RHEL/CentOS, but I don’t see any reason not to work on another distro like Ubuntu.

Established Connection

If you are looking for all established connections from the server. If you many established connections and interested in looking for one of the IPs, then you can use another grep.

Listening Connection

Let’s say you’ve started some service, and that is supposed to listen on a particular IP:Port, this would be handy to verify. Or, you can use -l argument to show all the listening sockets. Take advantage of grep to filter the results.

Port Number used by PID

You know your application started and aware of PID (Process Identifier) but not sure what’s the port number it’s using. Below example is for PID 3937 As you can see, port 80 is being used for PID 3937.

All Protocols Statistics

Having frequent disconnections due to packet discarded? -s argument will show you overall stats where you can pay attention to packets discarded messages.

Kernel routing information

Having a routing issue? or, connectivity is not working as expected due to connection is traveling through a different route? Quickly check the routing table.

PID used by Port Number

Very handy to troubleshoot port conflict issue. Lets’s say you are trying to start Apache or Nginx server, which listens on port 80 but can’t because some other process already using port 80. And, you can see the PID 3937 is using that port. If you are using AIX, then This will display the address of the Protocol Control Block in hexadecimal Once you have hexadecimal, then can execute below to get wich process is holding a port number.

List of network interfaces

Having multiple ethernet interfaces? or not sure and want to find out?

Continuous Listening

An excellent option when troubleshooting services crash related issues. Let’s say an application is crashing randomly every few minutes. But, not sure when exactly. You can use -c argument which will continuously show the results. When it stops updating, then you know its crashed.

Conclusion

netstat is one of the widely used commands by sysadmin and I hope the above examples give you an idea about what you can do with it. If you are looking to learn more about Linux administration, then check out this Udemy course.

netstat Command Usage on Linux - 72netstat Command Usage on Linux - 50netstat Command Usage on Linux - 84netstat Command Usage on Linux - 11netstat Command Usage on Linux - 76netstat Command Usage on Linux - 38