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
5
votes
1 answer

getting source code for linux's /bin/ss tool

ss tool is analogue to netstat. ss uses NETLINK libraries documented really bad (man 7 netlink). I couldn't find online how properly use NETLINK_INET_DIAG feature. Source code for ss tool would help, but I can't find it either. Any advice would be…
wick
  • 1,995
  • 2
  • 20
  • 31
5
votes
1 answer

Why always 5 connections with no program attached?

This question is similar to Network port open, but no process attached? and netstat shows a listening port with no pid but lsof does not. But the answers to them can't solve mine, since it is so weird. I have a server application called lps that…
leowang
  • 481
  • 5
  • 12
5
votes
1 answer

Interpreting Android xt_qtaguid/stats

I have a quick question on Android's netstats and how they are reported. by running this code in cmd: adb shell cat proc/net/xt_qtaguid/stats > C:\netstats.txt" I get a file that looks more or less like this (I took snippets for sake of…
Nefariis
  • 3,451
  • 10
  • 34
  • 52
4
votes
3 answers

Port Stuck in Time_Wait

I have a TCP Tunnel in C#. I need to open and close the tunnel which is my app between a server and a client. I'm using this to close the data connection to test out another app. I have to use particular ports. On the second, third, nth…
4
votes
1 answer

Port 8081 is being used by SYSTEM (PID 4), how to stop that

I have a case where One vulnerability detected in server(dusxxxiweb2) saying Port 8081 is opened.I got the port number through netstat -a -n -o | find "8081" command, I found out that the port "8081" is being used by system process with PID 4 I…
vmb
  • 2,878
  • 15
  • 60
  • 90
4
votes
2 answers

Netstat not showing ports exposed by docker

For some reason netstat is not listing ports exposed by docker. As suggested here I usedEXPOSE for both ports 8080 and 5050. But none of them is visible from host. Dockerfile ... FROM openjdk:11-jre-slim COPY --from=build…
Matjaž
  • 2,096
  • 3
  • 35
  • 55
4
votes
1 answer

windows batch kill a process

TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 3808 How to kill this process with pid? my command: for /f "delims=, tokens=5" %%a in ('netstat -ano | findstr 0.0.0.0:8080') do ( taskkill /f /pid %%a )
G.Fei
  • 43
  • 2
4
votes
0 answers

ss slower than netstat

The man page for netstat says : 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." ​​ When netstat and…
Anjana
  • 873
  • 7
  • 22
4
votes
1 answer

Performance counter for Number of ports in use for making a connection

I am using this command to identify the number of ports in use netstat -anob Is there a performance counter that i can use so that i can plot a graph on perfmon and see what happens when the number of requests per second increases?
StackOverflowVeryHelpful
  • 2,347
  • 8
  • 34
  • 46
4
votes
2 answers

netstat -g where is group IP defined

Hello when I run netstat -g I see the following table. However, I just don't know what IP all-system.mcast.net is mapped to? Where is this being defined? Is there a file in linux to set it up? Thanking you in advance IPv6/IPv4 Group…
theuniverseisflat
  • 861
  • 2
  • 12
  • 19
4
votes
4 answers

How can I figure out which process is opening the certain tcp port?

I usually use fuser command to check pid opening the certain tcp port like the following fuser 22/tcp //To get pid opening the 22 tcp port I've got a reference board which running a embedded linux. It have been already opening 22 tcp port for ssh…
Sparkleholic
  • 78
  • 1
  • 6
4
votes
4 answers

How do you set the allowed IP clients for a Rails application

Where do you configure the IP addresses that are permitted to connect to a Rails app? I have a simple rails application which I have inherited that runs in a development environment on Ubuntu 14.04. It was working OK until recently when some changes…
Jontiw
  • 43
  • 5
4
votes
1 answer

Parse Windows Command Line Output To Get PIDs

I'm looking to gather only the PID value outputted when you run this netstat command: netstat -a -o -n -p tcp | findstr -i "CLOSE_WAIT" My intention is to use the PIDs and create a script that will run taskkill /PID pidfoundhere to remove any…
user3459799
  • 345
  • 6
  • 16
4
votes
2 answers

How do I get the process name and binary path for a open port with Qt on Windows?

I'm writing a port collision checking function. I need to determine: if a certain port is open the process name of the daemon path of the binary of the daemon My idea was to run a QProcess executing the native command netstat -abno and parsing the…
Jens A. Koch
  • 39,862
  • 13
  • 113
  • 141
4
votes
2 answers

Getting count of established connections to a host on apache server

Lets say I have 5 sites hosted on apache server. Now to get the total established connections to apache I can use: netstat -anp | grep :80 | grep ESTABLISHED | wc -l Which will show that I have about xx established connections. Now if I want to…
user2233767
  • 49
  • 1
  • 1
  • 4