Thursday, 16 March 2017

Check port number usage in Windows - Netstat command explained

We know Netstat command can list all current in use ports. However, often I found it is hard to understand the result that listed by this command OR to know what parameters to use to help me diagnose the problem better. I have googled many sites and found the following examples. I hope this can be helpful to someone and can be useful for my own references in the future.

The following arguments are often useful when using Netstat command:

netstat -ano

-a parameter lists all computer's connections and listening ports
-n parameter displays addresses and port numbers in numerical format
-n parameter outputs the process ID (PID) responsible for the connection

Note: you can also use -b flag which outputs the EXE and its associated DLLs that are using the TCP and UDP ports.

The Netstat command can also have filter:

netstat -an 1 | find "4444" | find "ESTABLISHED"

In this example, Netstat will not display an output until it finds an established connection on port 4444, and it will include the source IP address connected to the port, a helpful bit of information in an investigation.

*Note: The –b and –o options are not available on Windows 2000 and be aware that running them with the interval option would be a drain on a system's resources.

The above information is sourced from http://www.computerweekly.com/tip/How-to-use-a-netstat-command-in-Windows-to-watch-open-ports

Some other sites that with useful information about Netstat command:

https://linuxacademy.com/blog/linux/netstat-network-analysis-and-troubleshooting-explained/

References of Netstat from https://technet.microsoft.com/en-us/library/bb490947.aspx

Netstat

Displays active TCP connections, ports on which the computer is listening, Ethernet statistics, the IP routing table, IPv4 statistics (for the IP, ICMP, TCP, and UDP protocols), and IPv6 statistics (for the IPv6, ICMPv6, TCP over IPv6, and UDP over IPv6 protocols). Used without parameters, netstat displays active TCP connections.

Syntax

netstat [-a] [-e] [-n] [-o] [-p Protocol] [-r] [-s] [Interval]

Parameters

-a   Displays all active TCP connections and the TCP and UDP ports on which the computer is listening.
-e   Displays Ethernet statistics, such as the number of bytes and packets sent and received. This parameter can be combined with -s.
-n   Displays active TCP connections, however, addresses and port numbers are expressed numerically and no attempt is made to determine names.
-o   Displays active TCP connections and includes the process ID (PID) for each connection. You can find the application based on the PID on the Processes tab in Windows Task Manager. This parameter can be combined with -a-n, and -p.
-p   Protocol   Shows connections for the protocol specified by Protocol. In this case, the Protocol can be tcpudptcpv6, or udpv6. If this parameter is used with -s to display statistics by protocol, Protocol can be tcpudpicmpiptcpv6udpv6icmpv6, or ipv6.
-s   Displays statistics by protocol. By default, statistics are shown for the TCP, UDP, ICMP, and IP protocols. If the IPv6 protocol for Windows XP is installed, statistics are shown for the TCP over IPv6, UDP over IPv6, ICMPv6, and IPv6 protocols. The -p parameter can be used to specify a set of protocols.
-r   Displays the contents of the IP routing table. This is equivalent to the route print command.
Interval   Redisplays the selected information every Interval seconds. Press CTRL+C to stop the redisplay. If this parameter is omitted, netstat prints the selected information only once.
/?   Displays help at the command prompt.

Remarks

  • Parameters used with this command must be prefixed with a hyphen (-) rather than a slash (/).
  • 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. 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
      TIMED_WAIT
      For more information about the states of a TCP connection, see RFC 793.
  • 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

Examples

To display both the Ethernet statistics and the statistics for all protocols, type the following command:
netstat -e -s
To display the statistics for only the TCP and UDP protocols, type the following command:
netstat -s -p tcp udp
To display active TCP connections and the process IDs every 5 seconds, type the following command:
nbtstat -o 5
To display active TCP connections and the process IDs using numerical form, type the following command:
nbtstat -n -o

Formatting legend

Format
Meaning
Italic
Information that the user must supply
Bold
Elements that the user must type exactly as shown
Ellipsis (...)
Parameter that can be repeated several times in a command line
Between brackets ([])
Optional items
Between braces ({}); choices separated by pipe (|). Example: {even|odd}
Set of choices from which the user must choose only one
Courier font
Code or program output

No comments: