Harman Patil (Editor)

Netstat

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

In computing, netstat (network statistics) is a command-line network utility tool that displays network connections for the Transmission Control Protocol (both incoming and outgoing), routing tables, and a number of network interface (network interface controller or software-defined network interface) and network protocol statistics. It is available on Unix-like operating systems including macOS, Linux, Solaris, and BSD, and is available on Windows NT-based operating systems including Windows XP, Windows Vista, Windows 7, Windows 8 and Windows 10.

Contents

It is used for finding problems in the network and to determine the amount of traffic on the network as a performance measurement.

On Linux, netstat (part of "net-tools") is superseded by ss (part of iproute2), which is recommended instead.

Parameters

Parameters used with this command must be prefixed with a hyphen (-) rather than a slash (/). If a parameter is supported only on some platform or platforms, the platform or platforms is listed in parentheses after the parameter.

Statistics provided

Netstat provides statistics for the following:

  • Proto - The name of the protocol (TCP or UDP).
  • Local Address - The IP address of the local computer and the port number being used. The name of the local computer that corresponds to the IP address and the name of the port is shown unless the -n parameter is specified. An asterisk (*) is shown for the host if the server is listening on all interfaces. If the port is not yet established, the port number is shown as an asterisk.
  • Foreign Address - The IP address and port number of the remote computer to which the socket is connected. The names that corresponds to the IP address and the port are shown unless the -n parameter is specified. If the port is not yet established, the port number is shown as an asterisk (*).
  • State - Indicates the state of a TCP connection. The possible states are as follows: CLOSE_WAIT, CLOSED, ESTABLISHED, FIN_WAIT_1, FIN_WAIT_2, LAST_ACK, LISTEN, SYN_RECEIVED, SYN_SEND, and TIME_WAIT. For more information about the states of a TCP connection, see RFC 793.
  • Examples

    To display the statistics for only the TCP or UDP protocols, type one of the following commands:

    netstat -sp tcp

    netstat -sp udp

    On Unix-like systems:

    To display all ports open by a process with id pid:

    netstat -aop | grep "pid"

    To continuously display open TCP and UDP connections numerically and also which program is using them on Linux:

    sudo netstat -nutpacw


    On Microsoft Windows:

    To display active TCP connections and the process IDs every 5 seconds, type the following command (works on NT based systems only, or Windows 2000 with hotfix):

    netstat -o 5

    To display active TCP connections and the process IDs using numerical form, type the following command (works on NT based systems only, or Windows 2000 with hotfix):

    netstat -no

    Caveats

    Some versions of netstat lack explicit field delimiters in their printf-generated output, leading to numeric fields running together and thus corrupting the output data.

    Platform specific remarks

    Under Linux, raw data can often be obtained from the /proc/net/dev to work around the printf output corruption arising in netstat's network interface statistics summary, netstat -i, until such time as the problem is corrected.

    On the Windows platform, netstat information can be retrieved by calling the GetTcpTable and GetUdpTable functions in the IP Helper API, or IPHLPAPI.DLL. Information returned includes local and remote IP addresses, local and remote ports, and (for GetTcpTable) TCP status codes. In addition to the command-line netstat.exe tool that ships with Windows, GUI-based netstat programs are available.

    On the Windows platform, this command is available only if the Internet Protocol (TCP/IP) protocol is installed as a component in the properties of a network adapter in Network Connections.

    On the Windows platform running Remote Desktop Services (formerly Terminal Services) it will only show connections for the current user, not for the whole computer.

    On macOS, the /Applications/Utilities folder contains a network GUI utility called Network Utility, the Netstat tab of which runs the netstat command and displays its output in the tab.

    References

    Netstat Wikipedia