查看端口号是否被占用
windows10查看端口号是否被占用及解除占用的常用命令
netstat -ano:查看所有端口号占用情况
netstat -ano |findstr “XXX”:查看端口号为XXX的占用情况,如下:
得到进程号为12160的进程正在占用本地的9090端口号(如果只是想释放9090端口到这一步就可以了),我们可以进一步使用tasklist |findstr "进程号"来查找该进程号对应的应用程序名称,此处可以发现是由“java.exe”程序创建的12160号进程
我们可以通过taskkill /pid 12160 /f /t命令强行终止12160号进程,释放9090端口:
taskkill常用命令及使用方式如下:
下面我们解释一下:
【WIN-CMD查询-常用命令-查询网络套接字】netstat -ano命令图文详细说明
既然有图,我们就来讲讲图上这些到底是什么意思。比如第14行,它表示 PID(Process ID:进程标识符的缩写,是操作系统为了标识程序而分配的编号,使用任务管理器可以查询所对应的程序名称)为1444的程序正在使用 IP 地址为 192.168.31.142 的网卡与 IP 地址为 23.33.16.8 的对象进行通信。注意:如果本机使用某一个端口,对方使用 139 端口,而 139 端口是 Windows 文件服务器使用的端口,因此我们就能够看出这个套接字是连接到一台文件服务器的。我们再来看第1行,这一行表示 PID 为 10648 的程序正在 22 端口等待另一方的连接,其中本地 IP 地址和远程 IP 地址都是 0.0.0.0,这就表示通信还没有开始,IP 地址不确定。(对于处于等待连接状态的套接字,也可以绑定 IP 地址,如果绑定了 IP 地址,那么除绑定的 IP 地址之外,对其他地址进行连接操作都会出错。当服务器上安装有多块网卡时,可以用这种方式 来限制只能连接到特定的网卡。)
上图:
说明“
”
netstat 是用于显示套接字内容的命令,-ano 选项表示以下的意思:
a:不仅显示正在通信的套接字,还显示包括尚未开始通信等状态的所有套接字
n:显示 IP 地址和端口号
o:显示使用该套接字的程序 PID
第一列表示:
协议类型:使用 TCP/IP 协议通信的情况下, 会显示 TCP 或者 UDP
第二列表示:
本地地址:Local Address,运行 netstat 命令的计算机本身(本地端)的 IP 地址和端口号。本例中的计算机上只安装了一块网卡,所以只 会显示出一个 IP 地址,如果安装了多块网卡, 则会显示出多个 IP 地址。 0.0.0.0 表示不绑定 IP 地址
第三列表示:
通信对象(远程端)的 IP 地址和端口号。
0.0.0.0 表示还没有开始通信,没有绑定 IP 地址和端口号。此外,UDP 协议中的套接字不绑定对方的地址和端口,因此这里显示*.*第四列表示:
状态:State,表示通信状态。
LISTENING:等待对方连接的状态
ESTABLISHED:完成连接并正在进行数据通信的 状态
CLOSE WAIT:表示被动关闭
SYN_SENT:是三次握手的过程,表示你的机器发 起了连接,对方没有响应
TIME WAIT:等待足够的时间以确保远程 TCP 接收到连接中断请求的确认以上只是列出了几个常见的状态,还有其他哦
第五列表示:
使用该套接字的程序 PID(进程标识符)。可以 使用任务管理器来查询 PID 对应的程序名称, 不过任务管理器默认不显示 PID 的,需要在 "查看"一> "选择歹中设置显示 PID