Questions tagged [netstat]

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 Unix, Unix-like, and Windows NT-based operating systems.

netstat

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 Unix, Unix-like, and Windows NT-based operating systems. It is used for finding problems in the network and to determine the amount of traffic on the network as a performance measurement.

Parameters

Parameters used with this command must be prefixed with a hyphen (-) rather than a slash (/).

  • -a : Displays all active connections and the TCP and UDP ports on which the computer is listening.
  • -b : Displays the binary (executable) program's name involved in creating each connection or listening port. (Windows XP, 2003 Server and newer Windows operating systems (not Microsoft Windows 2000 or other non-Windows operating systems)) On Mac OS X when combined with -i, the total number of bytes of traffic will be reported.
  • -e : Displays ethernet statistics, such as the number of bytes and packets sent and received. This parameter can be combined with -s.
  • -f : Displays fully qualified domain names for foreign addresses (only available on Windows Vista and newer operating systems).
  • -g : Displays multicast group membership information for both IPv4 and IPv6 (may only be available on newer operating systems)
  • -i : Displays network interfaces and their statistics (not available under Windows)
  • -m : Displays the STREAMS statistics.
  • -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. This parameter is available on Microsoft Windows XP, 2003 Server (and Windows 2000 if a hotfix is applied).[2]
  • -p Windows and BSD: Protocol : Shows connections for the protocol specified by Protocol. In this case, the Protocol can be tcp, udp, tcpv6, or udpv6. If this parameter is used with -s to display statistics by protocol, Protocol can be tcp, udp, icmp, ip, tcpv6, udpv6, icmpv6, or ipv6.
  • -p Linux: Process : Show which processes are using which sockets (similar to -b under Windows) (you must be root to do this)
  • -P Solaris: Protocol : Shows connections for the protocol specified by Protocol. In this case, the Protocol can be ip, ipv6, icmp, icmpv6, igmp, udp, tcp, or rawip.
  • -r : Displays the contents of the IP routing table. (This is equivalent to the route print command under Windows.)
  • -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.
  • -t Linux: Displays only TCP connections.
  • -v : When used in conjunction with -b it will display the sequence of components involved in creating the connection or listening port for all executables.
  • 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.
  • -h (unix) /? (windows): Displays help at the command prompt.

Statistics Provided

Netstat provides statistics for the following:

Protocol - 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, 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

To display active TCP connections and the process IDs every 5 seconds, type the following command (On Microsoft Windows, works on XP and 2003 only, or Windows 2000 with hotfix):

netstat -o 5

Mac OS X version:

netstat -w 5

To display active TCP connections and the process IDs using numerical form, type the following command (On Microsoft Windows, works on XP and 2003 only, or Windows 2000 with hotfix):

netstat -no

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

netstat -aop | grep "pid"

Platform specific remarks

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 Mac OS X 10.5, the above option "-o" is not available. With Mac OS X 10.5, the /Applications/Utilities folder contains a network utility called: Network Utility, see tab Netstat for these stats presented in a gui application, along with Ping, Lookup, Traceroute, Whois, Finger and Port Scan.

Wikipedia Entry for netstat

548 questions
3
votes
1 answer

View same statistics as "Local Area Connection" Status gui from command line

First time poster here. I am trying to get the current bandwidth usage for Windows Server 2008R2 via command line. I've tried netstat -e but this gives me very different numbers than the actual bytes that have been transferred. The stats I'd like…
3
votes
2 answers

How to append string to file if it is not included in the file?

Protagonists The Admin Pipes The Cron Daemon A bunch of text processing utilities netstat >> the Scribe Setting The Cron Daemon is repeatedly performing the same job where he forces an innocent netstat to show the network status (netstat -n).…
Florian Feldhaus
  • 5,567
  • 2
  • 38
  • 46
3
votes
2 answers

Check if TCP port is available (not listening or connected)

I use following code to check if a port is available or not: bool ClassA::CheckPortTCP(short int dwPort , char *ipAddressStr) { struct sockaddr_in client; int sock; client.sin_family = AF_INET; client.sin_port =…
leon22
  • 5,280
  • 19
  • 62
  • 100
2
votes
2 answers

netstat -i what is meant by the metric value of the given interface?

When using netstat -i you get output like the following sample: Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 214 0 0 0 139 0 0 0 BMRU eth1 1500…
Peter Skirko
  • 695
  • 7
  • 14
2
votes
1 answer

what is the command in linux to kill tcp connection or session?

Possible Duplicate: How do I break an arbitrary TCP/IP connection on Linux? I want to close the socket connection cretead for some clients in server machine i want to do this using command line. I know only port and ip of client plz let me know…
Syedsma
  • 1,183
  • 5
  • 17
  • 22
2
votes
3 answers

Perl system(command) then kill command

I'm trying to output a system netstat -an -p TCP $interval > $log for a sleep of $seconds, and then quit/kill the netstat command but am having trouble getting it to work correctly. If I use start netstat..., my sleep and kill commands work, but it…
user967536
  • 37
  • 5
2
votes
1 answer

Failed to connect to localhost port 3918: Connection refused(R Rselenium)

Seeking help on how to resolve the subject line error. The many previous posts and solutions referenced here have already been reviewed/tried. In the past this same error has been resolved by updating R, Rstudio. The code, which has worked for years…
IMB
  • 41
  • 3
2
votes
1 answer

What's a reliable way to verify that a socket is open?

I'm developing a C# application, working with TCP sockets. While debugging, I arrive in this piece of source code: if ((_socket!= null) && (_socket.Connected)) { Debug.WriteLine($"..."); <= my breakpoint is here. return true; } In my…
Dominique
  • 16,450
  • 15
  • 56
  • 112
2
votes
1 answer

inetinfo.exe always appears on Task Manager

I just realized that I have a process inetinfo.exe always running on my PC. It seems to be part of IIS. Even if I kill it, it starts again with obviously a different port id. How can I see in Windows XP which application triggers this process to…
koumides
  • 2,464
  • 5
  • 34
  • 54
2
votes
2 answers

Port not shown to be used in netstat, but trying to use the port is denied by Windows

I found the answer to this problem already and just want to document my finding. In one of my recent project, I found that a port would not be shown as being used in netstat, but when my project tried to use the port, an error would be thrown. For…
toyssamurai
  • 561
  • 4
  • 13
2
votes
1 answer

accept() block indefinitely on repeated connection attempts

I'm programming a TCP server, one that I desire to accept a single connection at a time, and by reusing the address and port it uses for listening. The first connection to a started instance of the server (e.g. via netcat) always succeeds, but…
lepartit
  • 23
  • 2
2
votes
1 answer

what does `TCPBacklogDrop` means when using `netstat -s`

all Recently I am debugging a problem on unix system, by using command netstat -s and I get an output with $ netstat -s // other fields // other fields TCPBacklogDrop: 368504 // other fields // other fields I have searched for a while to…
fding
  • 424
  • 1
  • 5
  • 18
2
votes
1 answer

Using Robot Framework to scan for open ports on localhost

I'm using Robot Framework to test network issues and servers. I'm on a windows environment. Right now, I'm in need to test if a certain service is available on localhost on a certain port. I could use netstat together with the Process library to…
Aleph0
  • 5,816
  • 4
  • 29
  • 80
2
votes
0 answers

Docker Overlay Network, Port Connections not in netstat visible

I'm playing with Docker Swarm, trying to understand the IPv6 problem for Docker Swarm and overlay Network, when i found a strange behaviour. netstat should show all the connections, but on a docker overlay network published port, then endpoint…
2
votes
1 answer

netstat misses some ports

$ nmap localhost Starting Nmap 6.40 ( http://nmap.org ) at 2019-02-12 12:59 +00 Nmap scan report for localhost (127.0.0.1) Host is up (0.0027s latency). Other addresses for localhost (not scanned): 127.0.0.1 Not shown: 995 closed ports PORT …
Vin
  • 559
  • 2
  • 18