What is the 'netstat' command, and what can it do?
Created on Friday, 10 September 2010 08:57
Last Updated on Monday, 27 August 2012 01:48
Written by Andrew Walding
Netstat is a useful tool for checking network and Internet connections. Some useful applications for the average PC user are considered, including checking for malware connections.
To execute netstat on windows, you must execute a START> RUN> CMD.
The command syntax is
netstat [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]
Switches for Netstat command
||Displays all connections and listening ports
||Displays the executable involved in creating each connection or listening port. (Added in XP SP2.)
||Displays Ethernet statistics
||Displays addresses and port numbers in numerical form
||Displays the owning process ID associated with each connection
||Shows connections for the protocol specified by proto; proto may be any of: TCP, UDP, TCPv6, or UDPv6.
||Displays the routing table
||Displays per-protocol statistics
||When used in conjunction with -b, will display sequence of components involved in creating the connection or listening port for all executables.
||An integer used to display results multiple times with specified number of seconds between displays. Continues until stopped by command ctrl+c. Default setting is to display once.
Netstat is one of a number of command-line tools available to check the functioning of a network. It provides a way to check if various aspects of TCP/IP are working and what connections are present. In Windows XP SP2, a new switch "-B" was added that allows the actual executable file that has opened a connection to be displayed. This newer capability provides a chance to catch malware that may be phoning home or using your computer in unwanted ways on the Internet. There are various ways that a system administrator might use the assortment of switches but I will give two examples that might be useful to home PC users.
TCP and UDP connections and their IP and port addresses can be seen by entering a command combining two switches:
Here is an example:
The information that is displayed includes the protocol, the local address and port number, the remote (foreign) address and port number, and the connection state. Note that the various IP addresses include port information as well.
If you want to check what the port numbers are look at this reference list.
An explanation of the different connection states is given below:
||Indicates that the server has received an ACK signal from the client and the connection is closed
||Indicates that the server has received the first FIN signal from the client and the connection is in the process of being closed
||Indicates that the server received the SYN signal from the client and the session is established
||Indicates that the connection is still active but not currently being used
||Indicates that the client just received acknowledgment of the first FIN signal from the server
||Indicates that the server is in the process of sending its own FIN signal
||Indicates that the server is ready to accept a connection
||Indicates that the server just received a SYN signal from the client
||Indicates that this particular connection is open and active
||Indicates that the client recognizes the connection as still active but not currently being used
If you see a lot of active connections with TIMED_WAIT status, that may be holding down the speed of your internet transfer. Kill the culprit process(es) from the Task manager, or if it's an essential process, restart the computer.