In linux, netstat command tells us information of active sockets in system.
I understand that netstat
uses /proc/net/tcp
to acquire the system network information.
Since netstat
man page says that netstat is obsolete, so we should use 'ss'.
NOTE
This program is obsolete. Replacement for netstat is ss. Replacement
for netstat -r is ip route. Replacement for netstat -i is ip -s link.
Replacement for netstat -g is ip maddr.
I have discovered that ss
performs similar functionality but it does not use
/proc/net/tcp
to acquire system network information.
Now I am curious how ss
gets system network socket information?
ss
is included in iproute2 package and is the substitute of thenetstat
.ss
is used to dump socket statistics. It shows information similar tonetstat
. It can display more TCP and state information than other tools. It is a new, incredibly useful and faster (compared to netstat) tool for tracking TCP connections and sockets.Check out the source for ss:
https://github.com/shemminger/iproute2/blob/master/misc/ss.c
Basically it directly queries the kernel and can respond much faster that netstat.
It gets them from kernel space directly using Netlink which uses the classic sockets API.
ss
is a utility used to investigate sockets in Linux and Unix systems. It shows information similar tonetstat
and able to dump socket statistics.But
netstat
cannot be replaced full byss
. Somenetstat
commands correspond better toip
command.I would say the "older"
netstat
command can be replaced with bothss
andip
commands.