windows在cmd上搜索端口占用
1 .确认端口占用情况
netstat -ano
2 .确认端口使用情况
netstat -ano | findstr xxxx //xxxx是查询的端口号
3 .查看某个状态的端口
netstat -ano | findstr xxxx //xxxx是查询的端口状态
关于端口的状态,请参考后面的内容。
4 .查看使用指定端口的APP应用程序
任务列表| findstr xxxx//xxxx是指pid
5 .结束指定进程
taskkill /pid xxxx -t -f //xxxx是指pid或taskkill /f /t /im QQ.exe/pre 6.端口的状态描述
首先,了解以下TCP协议端口的连接状态有助于排除和确定网络或系统故障:
TCP协议端口状态说明:关闭等待、时间等待、侦听、SYN_SENT、已禁用、最后访问.
)1)LISTENING
提供一项服务,监听远方TCP端口的连接请求,在提供的服务未连接时,在侦听状态下,端口开放,等待连接。
)2)SYN_SENT (客户端状态)
客户端调用connect,发送SYN请求以建立连接,发送连接请求,然后等待匹配的连接请求。 此时,状态为SYN_SENT。
)3)SYN_RECEIVED) (服务器状态) ) ) ) ) ) )。
接收并发送连接请求后,等待对方的连接请求的确认,在服务器接收到客户端的同步信号时,将标志位ACK和SYN设置为1并发送到客户端。 此时,服务器端为SYN_RCVD状态,如果连接成功,则为ESTABLISHED,通常SYN_RCVD状态为非常短的状态。
)4)ESTABLISHED
ESTABLISHED状态表示两台机器正在传输数据。
)5)FIN-WAIT-1
等待远程TCP断开连接请求或先前断开连接请求的确认,主动退出端APP应用程序调用关闭,TCP发出FIN请求主动退出连接,然后进入FIN_WAIT1状态。
(6)FIN-WAIT-2
等待远程TCP发出的断开连接请求,主动关闭终端并收到ACK后进入FIN-WAIT-2。 这是一种有名的半关机状态,在关闭连接时,客户端和服务器握手两次后的状态。 在这种状态下,APP应用程序仍有接收数据的能力,但无法发送数据。 但是,客户端也可能一直在FIN_WAIT_2中
带半闭环图:
(7)CLOSE-WAIT
等待本地用户的连接中断请求,当被动关机侧TCP接收到FIN时,发布ACK以响应FIN请求,该请求的接收也作为文件结束符传递到上层APP应用程序,进入CLOSE_WAIT。
(8)CLOSING
很少出现这种情况,等待远程TCP确认连接断开。
(9)LAST-ACK
等待对原始远程TCP的连接中断请求的确认,被动关闭终端一会儿,收到文件结束码的APP应用程序调用CLOSE关闭连接,TCP也发送FIN,等待对方的ACK .进入LAST-ACK。
(10 )TIME-WAIT
在主动关闭端接收到FIN后,TCP发送ACK数据包并进入等待时间状态。 虽然远程TCP等待了足够的时间来接收中断连接请求的确认,从而在很大程度上保证了双方都能正常结束,但也存在问题,必须等待2MSL时间才能进行下一次连接。
(11 )CLOSED
在收到ACK包后,被动关闭将进入关闭状态,连接将关闭,并且没有任何连接。
与附件TCP正常连接的建立和结束对应的状态图
状态迁移过程:
a、客户端:
closed-syn _ sent-established-fin _ wait _1- fin _ wait _2- time _ wait-closed
b、服务端
关闭- listen-syn _ received-established-close _ wait-last _ ack-close
在众多状态中,经常关注的有两个:TIME_WAIT、CLOSE_WAIT。