DOS命令——netstat -a -n

文章目录

    • 1.LISTENING
    • 2.SYN_SENT(客户端状态)
    • 3.SYN_RCVD(服务器端状态)
    • 4.ESTABLISHED
    • 5.FIN-WAIT-1
    • 6.FIN-WAIT-2
    • 7.CLOSE-WAIT
    • 8.CLOSING
    • 9.LAST-ACK
    • 10.TIME-WAIT
    • 11.CLOSED

DOS命令

查看系统的开发端口
cmd——>netstat -a -n
DOS命令——netstat -a -n_第1张图片


1.LISTENING

提供某种服务,首先处于侦听(LISTENING)状态。当提供的服务没有被连接时,处于LISTENING状态,端口是开放的,等待被连接。

2.SYN_SENT(客户端状态)

SYN_SENT状态表示请求连接,当要访问其他电脑的服务时首先要发个同步信号给该端口,此时状态为SYN_SENT,如果连接成功了就变为ESTABLISHED,此时SYN_SENT状态非常短暂。但如果发现SYN_SENT非常多且在向不同的机器发出,那电脑可能中了冲击波或震荡波之类的病毒了。这类病毒为了感染其他电脑,会扫描其他电脑,在扫描的过程中会对每个要扫描的电脑发出同步请求,这也是出现许多SYN_SENT的原因。

3.SYN_RCVD(服务器端状态)

在收到和发送一个连接请求后,等待服务器端对连接请求的确认,当服务器收到客户端发送的同步信号时,将标志位ACK和SYN置1发送给客户端,此时服务器端处于SYN_RCVD状态,如果连接成功了就变为ESTABLISHED,正常情况下SYN_RCVD状态非常短暂。

4.ESTABLISHED

ESTABLISHED状态是表示两台电脑正在传输数据。

5.FIN-WAIT-1

等待远程TCP连接中断请求,或先前的连接中断请求的确认,客户端应用程序调用close,TCP发出FIN请求主动关闭连接,之后进入FIN_WAIT1状态。

6.FIN-WAIT-2

从远程TCP等待连接中断请求,客户端接到ACK后,进入了FIN-WAIT-2。这时在关闭连接时,客户端和服务器两次握手之后的状态,就是半关闭的状态了。在这个状态下,应用程序可以接收数据,但无法发送数据。

7.CLOSE-WAIT

服务器端主动关闭连接或者网络异常导致连接中断,这时客户端状态会变成CLOSE_WAIT,此时客户端调用close()函数,使连接正确关闭。

8.CLOSING

等待远程TCP对连接中断的确认,此状态较少见。

9.LAST-ACK

等待原来发向远程TCP的连接中断请求的确认,被动关闭一段时间后,接收到文件结束符的应用程序将调用CLOSE关闭连接,TCP也发送一个FIN,等待对方的ACK,进入LAST-ACK。

10.TIME-WAIT

DOS命令——netstat -a -n_第2张图片
客户端调用close()函数,给服务器端发送FIN,请求关闭连接;服务器端收到FIN后给Client返回确认ACK,同时关闭读通道,此时不能再从这个连接上读取数据,read返回0。服务器端的TCP状态转化为
CLOSE_WAIT状态。TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分段最大生存期,默认为4分钟),以此来确保旧的连接状态不会对新连接产生影响。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以作为服务器,在可能的情况下尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费。

11.CLOSED

服务器端接收到Client对自己的FIN的确ACK,关闭写通道,TCP连接转化为CLOSED,也就是关闭连接。如右图所示为TCP在正常情况下建立与终止连接所对应的状态。

你可能感兴趣的:(计算机网络)