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
6
votes
3 answers

Android: HttpURLConnection doesn't disconnect

by running netstat on the server: UNTIL A FEW DAYS AGO: I could see the connection being ESTABLISHED only for about a second, and then it would disappear from the list NOW: it stays as ESTABLISHED for about 10 seconds, then it goes into FIN_WAIT1…
Daniele B
  • 19,801
  • 29
  • 115
  • 173
5
votes
1 answer

Getting per connection bandwidth statistics

I need to determine per-process network usage statistics similar to what TCPView can do. Example http://img513.imageshack.us/img513/861/6601f15814544055a590e26.png So before you shoot me for posting a duplicate of this question, or this question, I…
caesay
  • 16,932
  • 15
  • 95
  • 160
5
votes
3 answers

the command "netstat -p" doesn't display the pid

the shell command netstat -p , doesn't display the pid. It displays "-" like this: tcp 0 0 *:2181 *:53837 ESTABLISHED - why? It still display "-" although I use root to login.
Clam
  • 51
  • 1
  • 3
5
votes
4 answers

Remote access to namenode is not allowed despite the services are already started.

I successfully installed and run Hadoop on a single machine whose ip is 192.168.1.109 (In fact it is actually an Ubuntu instance running on virtual box ) . When typing jps it shows 2473 DataNode 2765 TaskTracker 3373 Jps 2361 NameNode 2588…
woraphol.j
  • 1,301
  • 5
  • 14
  • 22
5
votes
0 answers

Undefined error in httr call. httr output: Failed to connect to localhost port 14415 after 0 ms: Connection refused

After updating to RStudio Version 2022.12.0+353 (2022.12.0+353), I am unable to find a freeport using netstat. I have never had this problem before. How do I fix this? library(RSelenium) library(netstat) remote_driver <- rsDriver(browser =…
bandcar
  • 649
  • 4
  • 11
5
votes
0 answers

Clickhouse distributed table node stops accepting TCP connections

Clickhouse version: (version 20.3.9.70 (official build)) (I know this is no longer supported, we have plans to upgrade but it takes time) The Setup We are running three query nodes (nodes with distributed tables only), we spun up the third one…
user358656
  • 101
  • 1
  • 5
5
votes
2 answers

What does FIN_WAIT1 mean?

When I send a HTTPS request from Windows7/Vista to Linux Red Hat 4 the netstat -an command shows FIN_WAIT1 OR SYNC_RECV status. Why do these statuses appear instead of ESTABLISHED?
Zeeshan
  • 1,173
  • 5
  • 19
  • 26
5
votes
3 answers

In mac terminal, how to check which port mysql is running?

I've done some research and found several places where people suggest using netstat to check which port a particular process is using. But here is what I got: myMac:~/Documents$ netstat -ap tcp | grep -i "listen" tcp4 0 0 …
Kid_Learning_C
  • 2,605
  • 4
  • 39
  • 71
5
votes
2 answers

What is a non-listening socket?

The netstat(8) man page states "Show both listening and non-listening (for TCP this means established connections) sockets. With the --interfaces option, show interfaces that are not marked" What is a non-listening socket vs a listening socket? Does…
xavierc
  • 502
  • 2
  • 13
5
votes
4 answers

PowerShell: Get-NetTCPConnection script that also shows Username & Process Name

I created a script to output Get-NetTCPConnection data but additionally show Process Name and Username. The script does work, but I would love any tips to simplify or make this more canonical. I am wondering if there is a more efficient way to add…
luckman212
  • 473
  • 1
  • 7
  • 15
5
votes
1 answer

netstat does not show listening port of udp server?

I have the following udp server: /************* UDP SERVER CODE *******************/ #include #include #include #include #include int main(){ int udpSocket, nBytes; char…
MOHAMED
  • 41,599
  • 58
  • 163
  • 268
5
votes
1 answer

Port exposed by Docker not reachable

I ran a docker container that exposes port 443. docker ps confirms that it is exposed. ~ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 42b17c2a4b75 …
Fabian
  • 990
  • 3
  • 11
  • 24
5
votes
2 answers

What is the reason for a high Recv-Q of a TCP connection?

In my application, I found my send() call on a TCP connection is blocked occasionally. And whenever this happens, the Recv-Q of the TCP connection is very high from netstat output: tcp 314238 0 10.8.8.21:47302 10.8.8.11:5672 …
NeoWang
  • 17,361
  • 24
  • 78
  • 126
5
votes
3 answers

Remove netstat output (specifically Not all processes could be identified line)

I'm having trouble removing the output from the netstat command when I check if a current port is being used. I dont need the output of the command but rather just the error code. Running netstat -anp | grep 1521 &>/dev/null results in (Not all…
Zee
  • 1,321
  • 2
  • 18
  • 41
5
votes
1 answer

Follow pids across machines (ssh)

I am basically trying to write a pstree-like command except that it should follow processes across machines. What I mean is that if I run this : $ ssh $node sleep 1000 Then the command should display something like this : ssh $node -- ($node) sleep…
user268744
  • 371
  • 1
  • 8