# phpman > man > netstat

> **TLDR:** Display network-related information such as open connections, open socket ports, etc.
>
- List all ports:
  `netstat {{-a|--all}}`
- List all listening ports:
  `netstat {{-l|--listening}}`
- List listening TCP ports:
  `netstat {{-t|--tcp}}`
- Display PID and program names:
  `netstat {{-p|--program}}`
- List information continuously:
  `netstat {{-c|--continuous}}`
- List routes and do not resolve IP addresses to hostnames:
  `netstat {{-rn|--route --numeric}}`
- List listening TCP and UDP ports (+ user and process if you're root):
  `netstat {{-tulpne|--tcp --udp --listening --program --numeric --extend}}`

*Source: tldr-pages*

---

[NETSTAT(8)](https://www.chedong.com/phpMan.php/man/NETSTAT/8/markdown)                       Linux System Administrator's Manual                      [NETSTAT(8)](https://www.chedong.com/phpMan.php/man/NETSTAT/8/markdown)



## NAME
       netstat - Print network connections, routing tables, interface statistics, masquerade connec‐
       tions, and multicast memberships


## SYNOPSIS
       **netstat** [_address_family_options_] [**--tcp**|**-t**] [**--udp**|**-u**] [**--udplite**|**-U**] [**--sctp**|**-S**]  [**--raw**|**-w**]
       [**--l2cap**|**-2**]   [**--rfcomm**|**-f**]  [**--listening**|**-l**]  [**--all**|**-a**]  [**--numeric**|**-n**]  [**--numeric-hosts**]
       [**--numeric-ports**] [**--numeric-users**] [**--symbolic**|**-N**] [**--extend**|**-e**[**--extend**|**-e]**]  [**--timers**|**-o**]
       [**--program**|**-p**] [**--verbose**|**-v**] [**--continuous**|**-c]** [**--wide**|**-W**]

       **netstat**   {**--route**|**-r**}   [_address_family_options_]  [**--extend**|**-e**[**--extend**|**-e]**]  [**--verbose**|**-v**]
       [**--numeric**|**-n**] [**--numeric-hosts**] [**--numeric-ports**] [**--numeric-users**] [**--continuous**|**-c**]

       **netstat** {**--interfaces**|**-i**} [**--all**|**-a**] [**--extend**|**-e**[**--extend**|**-e]**] [**--verbose**|**-v**] [**--program**|**-p**]
       [**--numeric**|**-n**] [**--numeric-hosts**] [**--numeric-ports**] [**--numeric-users**] [**--continuous**|**-c**]

       **netstat**  {**--groups**|**-g**}  [**--numeric**|**-n**]  [**--numeric-hosts**] [**--numeric-ports**] [**--numeric-users**]
       [**--continuous**|**-c**]

       **netstat** {**--masquerade**|**-M**} [**--extend**|**-e**]  [**--numeric**|**-n**]  [**--numeric-hosts**]  [**--numeric-ports**]
       [**--numeric-users**] [**--continuous**|**-c**]

       **netstat** {**--statistics**|**-s**} [**--tcp**|**-t**] [**--udp**|**-u**] [**--udplite**|**-U**] [**--sctp**|**-S**] [**--raw**|**-w**]

       **netstat** {**--version**|**-V**}

       **netstat** {**--help**|**-h**}

       _address_family_options_:

       [**-4**|**--inet**]  [**-6**|**--inet6**] [**--protocol=**{**inet**,**inet6**,**unix**,**ipx**,**ax25**,**netrom**,**ddp**,**bluetooth**, ... } ]
       [**--unix**|**-x**] [**--inet**|**--ip**|**--tcpip**] [**--ax25**] [**--x25**]  [**--rose**]  [**--ash**]  [**--bluetooth**]  [**--ipx**]
       [**--netrom**] [**--ddp**|**--appletalk**] [**--econet**|**--ec**]


## NOTES
       This  program is mostly 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**.


## DESCRIPTION
       **Netstat**  prints  information  about  the Linux networking subsystem.  The type of information
       printed is controlled by the first argument, as follows:

### (none)
       By default, **netstat** displays a list of open sockets.  If you don't specify any address  fami‐
       lies, then the active sockets of all configured address families will be printed.

### --route, -r
       Display  the  kernel routing tables. See the description in [**route**(8)](https://www.chedong.com/phpMan.php/man/route/8/markdown) for details.  **netstat** **-r**
       and **route** **-e** produce the same output.

### --groups, -g
       Display multicast group membership information for IPv4 and IPv6.

### --interfaces, -i
       Display a table of all network interfaces.

### --masquerade, -M
       Display a list of masqueraded connections.

### --statistics, -s
       Display summary statistics for each protocol.

## OPTIONS
### --verbose, -v
       Tell the user what is going on by being verbose. Especially  print  some  useful  information
       about unconfigured address families.

### --wide, -W
       Do  not  truncate IP addresses by using output as wide as needed. This is optional for now to
       not break existing scripts.

### --numeric, -n
       Show numerical addresses instead of trying to determine symbolic host, port or user names.

### --numeric-hosts
       shows numerical host addresses but does not affect the resolution of port or user names.

### --numeric-ports
       shows numerical port numbers but does not affect the resolution of host or user names.

### --numeric-users
       shows numerical user IDs but does not affect the resolution of host or port names.


   **--protocol=**_family_, **-A**
       Specifies the address families (perhaps better described as low level  protocols)  for  which
       connections  are  to be shown.  _family_ is a comma (',') separated list of address family key‐
       words like **inet**, **inet6**, **unix**, **ipx**, **ax25**, **netrom**, **econet**, **ddp**, and **bluetooth**.   This  has  the
       same  effect  as  using the **--inet**|**-4**, **--inet6**|**-6**, **--unix**|**-x**, **--ipx**, **--ax25**, **--netrom**, **--ddp**,
       and **--bluetooth** options.

       The address family **inet** (Iv4) includes raw, udp, udplite and tcp protocol sockets.

       The address family **bluetooth** (Iv4) includes l2cap and rfcomm protocol sockets.

### -c, --continuous
       This will cause **netstat** to print the selected information every second continuously.

### -e, --extend
       Display additional information.  Use this option twice for maximum detail.

### -o, --timers
       Include information related to networking timers.

### -p, --program
       Show the PID and name of the program to which each socket belongs.

### -l, --listening
       Show only listening sockets.  (These are omitted by default.)

### -a, --all
       Show both listening and non-listening sockets.  With the **--interfaces** option, show interfaces
       that are not up

### -F
       Print routing information from the FIB.  (This is the default.)

### -C
       Print routing information from the route cache.

## OUTPUT
   **Active** **Internet** **connections** (TCP, UDP, UDPLite, raw)
### Proto
       The protocol (tcp, udp, udpl, raw) used by the socket.

### Recv-Q
       Established:  The  count  of  bytes  not copied by the user program connected to this socket.
       Listening: Since Kernel 2.6.18 this column contains the current syn backlog.

### Send-Q
       Established: The count of bytes not acknowledged by the remote host.  Listening: Since Kernel
       2.6.18 this column contains the maximum size of the syn backlog.

### Local Address
       Address  and port number of the local end of the socket.  Unless the **--numeric** (**-n**) option is
       specified, the socket address is resolved to its canonical host name  (FQDN),  and  the  port
       number is translated into the corresponding service name.

### Foreign Address
       Address and port number of the remote end of the socket.  Analogous to "Local Address".

### State
       The  state of the socket. Since there are no states in raw mode and usually no states used in
       UDP and UDPLite, this column may be left blank. Normally this can be one of several values:

       _ESTABLISHED_
              The socket has an established connection.

       _SYN_SENT_
              The socket is actively attempting to establish a connection.

       _SYN_RECV_
              A connection request has been received from the network.

       _FIN_WAIT1_
              The socket is closed, and the connection is shutting down.

       _FIN_WAIT2_
              Connection is closed, and the socket is waiting for a shutdown from the remote end.

       _TIME_WAIT_
              The socket is waiting after close to handle packets still in the network.

       _CLOSE_  The socket is not being used.

       _CLOSE_WAIT_
              The remote end has shut down, waiting for the socket to close.

       _LAST_ACK_
              The remote end has shut down, and the socket is closed. Waiting for acknowledgement.

       _LISTEN_ The socket is listening for incoming connections.  Such sockets are  not  included  in
              the output unless you specify the **--listening** (**-l**) or **--all** (**-a**) option.

       _CLOSING_
              Both sockets are shut down but we still don't have all our data sent.

       _UNKNOWN_
              The state of the socket is unknown.

### User
       The username or the user id (UID) of the owner of the socket.

### PID/Program name
       Slash-separated  pair  of  the process id (PID) and process name of the process that owns the
       socket.  **--program** causes this column to be included.  You will also  need  _superuser_  privi‐
       leges  to  see this information on sockets you don't own.  This identification information is
       not yet available for IPX sockets.

### Timer
       (this needs to be written)

### Active UNIX domain Sockets
### Proto
       The protocol (usually unix) used by the socket.

### RefCnt
       The reference count (i.e. attached processes via this socket).

### Flags
       The flags displayed is SO_ACCEPTON (displayed as **ACC**), SO_WAITDATA  (**W**)  or  SO_NOSPACE  (**N**).
       SO_ACCECPTON  is used on unconnected sockets if their corresponding processes are waiting for
       a connect request. The other flags are not of normal interest.

### Type
       There are several types of socket access:

       _SOCK_DGRAM_
              The socket is used in Datagram (connectionless) mode.

       _SOCK_STREAM_
              This is a stream (connection) socket.

       _SOCK_RAW_
              The socket is used as a raw socket.

       _SOCK_RDM_
              This one serves reliably-delivered messages.

       _SOCK_SEQPACKET_
              This is a sequential packet socket.

       _SOCK_PACKET_
              Raw interface access socket.

       _UNKNOWN_
              Who ever knows what the future will bring us - just fill in here :-)

### State
       This field will contain one of the following Keywords:

       _FREE_   The socket is not allocated

       _LISTENING_
              The socket is listening for a connection request.  Such sockets are only  included  in
              the output if you specify the **--listening** (**-l**) or **--all** (**-a**) option.

       _CONNECTING_
              The socket is about to establish a connection.

       _CONNECTED_
              The socket is connected.

       _DISCONNECTING_
              The socket is disconnecting.

       _(empty)_
              The socket is not connected to another one.

       _UNKNOWN_
              This state should never happen.

### PID/Program name
       Process  ID (PID) and process name of the process that has the socket open.  More info avail‐
       able in **Active** **Internet** **connections** section written above.

### Path
       This is the path name as which the corresponding processes attached to the socket.

### Active IPX sockets
       (this needs to be done by somebody who knows it)

### Active NET/ROM sockets
       (this needs to be done by somebody who knows it)

### Active AX.25 sockets
       (this needs to be done by somebody who knows it)

## FILES
       _/etc/services_ -- The services translation file

       _/proc_ -- Mount point for the proc filesystem, which gives access to kernel status information
       via the following files.

       _/proc/net/dev_ -- device information

       _/proc/net/raw_ -- raw socket information

       _/proc/net/tcp_ -- TCP socket information

       _/proc/net/udp_ -- UDP socket information

       _/proc/net/udplite_ -- UDPLite socket information

       _/proc/net/igmp_ -- IGMP multicast information

       _/proc/net/unix_ -- Unix domain socket information

       _/proc/net/ipx_ -- IPX socket information

       _/proc/net/ax25_ -- AX25 socket information

       _/proc/net/appletalk_ -- DDP (appletalk) socket information

       _/proc/net/nr_ -- NET/ROM socket information

       _/proc/net/route_ -- IP routing information

       _/proc/net/ax25_route_ -- AX25 routing information

       _/proc/net/ipx_route_ -- IPX routing information

       _/proc/net/nr_nodes_ -- NET/ROM nodelist

       _/proc/net/nr_neigh_ -- NET/ROM neighbours

       _/proc/net/ip_masquerade_ -- masqueraded connections

       _/sys/kernel/debug/bluetooth/l2cap_ -- Bluetooth L2CAP information

       _/sys/kernel/debug/bluetooth/rfcomm_ -- Bluetooth serial connections

       _/proc/net/snmp_ -- statistics

## SEE ALSO
       [**route**(8)](https://www.chedong.com/phpMan.php/man/route/8/markdown), [**ifconfig**(8)](https://www.chedong.com/phpMan.php/man/ifconfig/8/markdown), [**iptables**(8)](https://www.chedong.com/phpMan.php/man/iptables/8/markdown), [**proc**(5)](https://www.chedong.com/phpMan.php/man/proc/5/markdown) [**ss**(8)](https://www.chedong.com/phpMan.php/man/ss/8/markdown) [**ip**(8)](https://www.chedong.com/phpMan.php/man/ip/8/markdown)

## BUGS
       Occasionally  strange information may appear if a socket changes as it is viewed. This is un‐
       likely to occur.

## AUTHORS
       The netstat user  interface  was  written  by  Fred  Baumgarten  <<dc6iq@insu1.etec.uni-karls>‐
       ruhe.de>,  the  man page basically by Matt Welsh <<mdw@tc.cornell.edu>>. It was updated by Alan
       Cox <<Alan.Cox@linux.org>>, updated again by Tuan Hoang <<tqhoang@bigfoot.com>>. The man page and
       the  command  included  in  the  net-tools  package  is  totally rewritten by Bernd Eckenfels
       <<ecki@linux.de>>.  UDPLite options were added by Brian Micek <<bmicek@gmail.com>>



net-tools                                    2014-10-07                                   [NETSTAT(8)](https://www.chedong.com/phpMan.php/man/NETSTAT/8/markdown)
