netstat 命令

转自wiki,方便墙内浏览

 

In computingnetstat (network statistics) is a command-line network utility tool that displays network connections for the Transmission Control Protocol (both incoming and outgoing), routing tables, and a number of network interface (network interface controller or software-defined network interface) and network protocol statistics. It is available on Unix-like operating systems including macOSLinuxSolaris, and BSD, and is available on Windows NT-based operating systems including Windows XPWindows VistaWindows 7Windows 8 and Windows 10.

It is used for finding problems in the network and to determine the amount of traffic on the network as a performance measurement.[1]

On Linux, netstat (part of "net-tools") is superseded by ss (part of iproute2), which is recommended instead.[2][3][4][5]

 

 

Parameters[edit]

Parameters used with this command must be prefixed with a hyphen (-) rather than a slash (/). If a parameter is supported only on some platform or platforms, the platform or platforms is listed in parentheses after the parameter.

-aDisplays all active connections and the TCP and UDP ports on which the computer is listening.
-b (Windows)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 older).
-b (macOS, NetBSD)Causes -i to report the total number of bytes of traffic.
-eDisplays ethernet statistics, such as the number of bytes and packets sent and received. This parameter can be combined with -s.
-f (Windows)Displays fully qualified domain names <FQDN> for foreign addresses (only available on Windows Vista and newer operating systems).
-f Address Family (FreeBSD)Limits display to a particular socket address family, unixinetinet6
-gDisplays multicast group membership information for both IPv4 and IPv6 (may only be available on newer operating systems)
-iDisplays network interfaces and their statistics (not available under Windows)
-mDisplays the memory statistics for the networking code (STREAMS statistics on Solaris).
-nDisplays active TCP connections, however, addresses and port numbers are expressed numerically and no attempt is made to determine names.
-o (Windows)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).[6]
-p protocol (Windows and BSD)Shows connections for the protocol specified by protocol. In this case, 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)Show which processes are using which sockets (similar to -b under Windows) (you must be root to do this)
-P protocol (Solaris)Shows connections for the protocol specified by protocol. In this case, protocol can be ip, ipv6, icmp, icmpv6, igmp, udp, tcp, or rawip.
-rDisplays the contents of the IP routing table. (This is equivalent to the route print command under Windows.)
-sDisplays statistics by protocol. By default, statistics are shown for the TCPUDPICMP, 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)Display only TCP connections.
-W (FreeBSD)Display wide output - doesn't truncate hostnames or IPv6 addresses
-v (Windows)When used in conjunction with -b it will display the sequence of components involved in creating the connection or listening port for all executables.
IntervalRedisplays 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[edit]

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. An asterisk (*) is shown for the host if the server is listening on all interfaces. 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[edit]

To display the statistics for only the TCP or UDP protocols, type one of the following commands:

netstat -sp tcp

netstat -sp udp

On Unix-like systems:

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

netstat -aop | grep "pid"

To continuously display open TCP and UDP connections numerically and also which program is using them on Linux:

sudo netstat -nutpacw


On Microsoft Windows:

To display active TCP connections and the process IDs every  5 seconds, type the following command (works on NT based systems only, or Windows 2000 with hotfix):

netstat -o 5

To display active TCP connections and the process IDs using  numerical form, type the following command (works on NT based systems only, or Windows 2000 with hotfix):

netstat -no

 

Caveats[edit]

Some versions of netstat lack explicit field delimiters in their printf-generated output, leading to numeric fields running together and thus corrupting the output data.

Platform specific remarks[edit]

Under Linux, raw data can often be obtained from the /proc/net/dev to work around the printf output corruption arising in netstat's network interface statistics summary, netstat -i, until such time as the problem is corrected.[citation needed]

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 the Windows platform running Remote Desktop Services (formerly Terminal Services) it will only show connections for the current user, not for the whole computer.

On macOS, the /Applications/Utilities folder contains a network GUI utility called Network Utility, the Netstat tab of which runs the netstat command and displays its output in the tab.

See also[edit]

  • ss, a Linux utility to investigate sockets from iproute2 meant to replace netstat
  • lsof -i

References[edit]

  1. Jump up^ "IBM Systems Information Center"ibm.com.
  2. Jump up^ "net-tools"linuxfoundation.org.
  3. Jump up^ "Arch Linux"archlinux.org. 8 June 2011.
  4. Jump up^ "Deprecated Linux networking commands and their replacements"Doug Vitale Tech Blog.
  5. Jump up^ "netstat man page (notes section)". Retrieved 2 August 2014. 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.
  6. Jump up^ http://support.microsoft.com/kb/907980

External links[edit]

转载于:https://www.cnblogs.com/joneskill/p/6855425.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值