netstat端口状态查看命令详解

时间:2021-04-22 15:19:51

查看端口状态是我们最常使用的命令,初学者不容易分辨清楚里面的内容。所以整理了一份详细的netstat命令详解。

一、netstat命令使用方法以及参数结束

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-x] [-t] [interval]

然后详细解释一下各个参数的含义


参数 参数解释 参数 参数解释
-a 显示所有连接和侦听端口 -q 显示所有连接、侦听端口和绑定的非侦听 TCP 端口。绑定的非侦听端口不一定与活动连接相关联
-b 显示在创建每个连接或侦听端口时涉及的 可执行程序。在某些情况下,已知可执行程序承载多个独立的组件,这些情况下,显示创建连接或侦听端口时涉及的组件序列。在此情况下,可执行程序的名称位于底部 [] 中,它调用的组件位于顶部, 直至达到 TCP/IP。注意,此选项可能很耗时,并且在你没有足够 权限时可能失败 -r 显示路由表
-e 显示以太网统计信息。此选项可以与 -s 选项结合使用 -s 显示每个协议的统计信息。默认情况下,显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;-p 选项可用于指定默认的子网
-f 显示外部地址的完全限定域名(FQDN) -t 显示当前连接卸载状态
-n 以数字形式显示地址和端口号 -x 显示 NetworkDirect 连接、侦听器和共享终结点
-o 显示拥有的与每个连接关联的进程 ID -y 显示所有连接的 TCP 连接模板。无法与其他选项结合使用
-p port 显示 proto 指定的协议的连接;proto可以是下列任何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s选项一起用来显示每个协议的统计信息,proto 可以是下列任何一个:IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6 interval 重新显示选定的统计信息,各个显示间暂停的间隔秒数。按 CTRL+C 停止重新显示统计信息。如果省略,则 netstat 将打印当前的配置信息一次

二、结果解释

先上一张图看看结果显示状态,然后再解释里面的内容

netstat端口状态查看命令详解

然后先解释几个大家可能看不明白的地方。

首先大家可能好奇0.0.0.0是什么鬼?

这里解释一下:

1、0.0.0.0代表本机上可用的任意地址。 比如0.0.0.0:135 表示本机上所有地址的135端口,这样多ip计算机就不用重复显示了。
2、TCP 0.0.0.0:80表示在所有的可用接口上监听TCP80端口 
3、0.0.0.0为默认路由,即要到达不再路由表里面的网段的包都走0.0.0.0这条规则

然后127.0.0.1就是表示你本机ip地址的意思了。

然后[::]:21这又是什么鬼?

这个表示ipv6的21号端口的意思。

还有UDP的外部链接怎么都是*:*呢?

*:*是网址的通配符,就是192.168.15.12,这个类型的整体描述。

最后大家看不懂的地方可能就是状态(stat)了

LISTEN:(Listening for a connection.)侦听来自远方的TCP端口的连接请求

SYN-SENT:(Active; sent SYN. Waiting for a matching connection request after having sent a connection request.)再发送连接请求后等待匹配的连接请求

SYN-RECEIVED:(Sent and received SYN. Waiting for a confirming connection request acknowledgment after having both received and sent connection requests.)再收到和发送一个连接请求后等待对方对连接请求的确认

ESTABLISHED:(Connection established.)代表一个打开的连接

FIN-WAIT-1:(Closed; sent FIN.)等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN-WAIT-2:(Closed; FIN is acknowledged; awaiting FIN.)从远程TCP等待连接中断请求

CLOSE-WAIT:(Received FIN; waiting to receive CLOSE.)等待从本地用户发来的连接中断请求

CLOSING:(Closed; exchanged FIN; waiting for FIN.)等待远程TCP对连接中断的确认

LAST-ACK:(Received FIN and CLOSE; waiting for FIN ACK.)等待原来的发向远程TCP的连接中断请求的确认

TIME-WAIT:(In 2 MSL (twice the maximum segment length) quiet wait after close. )等待足够的时间以确保远程TCP接收到连接中断请求的确认

CLOSED:(Connection is closed.)没有任何连接状态