Linux和Windows下如何快速查找电脑计算机端口被谁占用

andwey 2019-06-26

一、简单了解"端口"

"端口"可以认为是计算机与外界通信交流的出口。一个IP地址可以有65536(即256*256)个,端口是通过端口号来标记的,端口号只有整数,范围是0~65 535(0~256*256-1)。

认识端口

计算机领域分为硬件领域和软件领域,在硬件领域中,端口又被称作接口,如常见的USB接口、网卡接口等;在软件领域中,端口一般是指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和基本输入输出缓冲区。

在网络技术中,端口还有其他含义,一种是物理意义上的端口,如集线器、交换机、路由器等连接设备,用于连接其他的网络设备的接口,常见的有RJ-45端口、Serial端口;另一种是逻辑意义上的端口,一般指TCP/IP协议中的端口,范围是0~65535(256*256-1)。

Linux和Windows下如何快速查找电脑计算机端口被谁占用

端口分类

可以将端口按照端口号分为以下三类:

  • 公认端口(0~1023):它们紧密绑定于一些服务。通常这些端口的通信明确表明了某种服务的协议。
  • 注册端口(1 024~49 151):它们松散的绑定于一些服务。也就是说有许多服务绑定于这些端口,但是这些端口同样用于许多其他目的。例如,许多系统处理动态端口是从1024左右开始的。
  • 动态/私有端口(49 152~65 535):理论上,不应该为服务器分配这些端口。实际上机器通常从1024起分配动态端口。但是也有例外,SUN的RPC端口就是从32768开始。 

查看系统开放端口

经常查看系统开放端口的状态变化,可以及时提高系统安全,防止自己的电脑被入侵。我们可以使用netstat命令查看自己系统的端口状态。

1. 打开【命令提示符】窗口,在其中输入netstat -a -n命令。

2. 按Enter键,即可看到数字显示的TCP和UCP连接的端口号及其状态。

关闭不必要的端口

默认状态下计算机系统会有一些没有用或不安全的端口是开启的,为了保障系统安全,可以有选择的关闭一些端口,这里介绍通过关闭无用服务来关闭不必要的端口。

以关闭Remote Desktop Help Session Manager(Windows远程协助服务)为例,具体操作步骤如下:

1. 点击【开始】按钮,在弹出的快捷菜单中执行【控制面板】命令。

2. 在打开的【控制面板】窗口中切换到 "大图标"查看方式,双击【管理工具】图标。

3. 打开【管理工具】窗口,双击【服务】图标。

4. 在打开的【服务】窗口中切换到"标准"视图模式,然后找到并双击"360杀毒全盘扫描服务"选项。

5. 在打开的对话框中单击"禁用"选项,然后单击"确定"按钮即可。(注:如果需要启动该服务,则在该对话框中单击"服务状态"栏中的"启动"按钮即可。启动服务后也可单击"停止"按钮来关闭该服务)

二、Windows系统下如何查看某个端口被谁占用

开发时经常遇到端口被占用的情况,这个时候我们就需要找出被占用端口的程序,然后结束它,本文为大家介绍如何查找被占用的端口。

1、打开命令窗口(以管理员身份运行)

开始—->运行—->cmd,或者是 window+R 组合键,调出命令窗口。

Linux和Windows下如何快速查找电脑计算机端口被谁占用

2、查找所有运行的端口

输入命令:

netstat -ano 

该命令列出所有端口的使用情况。

在列表中我们观察被占用的端口,比如是 1224,首先找到它。

Linux和Windows下如何快速查找电脑计算机端口被谁占用

3、查看被占用端口对应的 PID

输入命令:

netstat -aon|findstr "8081" 

回车执行该命令,最后一位数字就是 PID, 这里是 9088。

Linux和Windows下如何快速查找电脑计算机端口被谁占用

4、查看指定 PID 的进程

继续输入命令:

tasklist|findstr "9088" 

回车执行该命令。

查看是哪个进程或者程序占用了 8081 端口,结果是:node.exe。

Linux和Windows下如何快速查找电脑计算机端口被谁占用

结束进程

强制(/F参数)杀死 pid 为 9088 的所有进程包括子进程(/T参数):

taskkill /T /F /PID 9088  

或者是我们打开任务管理器,切换到进程选项卡,在PID一列查看9088对应的进程是谁,如果看不到PID这一列,如下图:

Linux和Windows下如何快速查找电脑计算机端口被谁占用

之后我们就可以结束掉这个进程,这样我们就可以释放该端口来使用了。

三、linux系统下如何查看端口被哪个进程占用?

1、lsof -i:端口号

2、netstat -tunlp|grep 端口号

都可以查看指定端口被哪个进程占用的情况

工具/原料

  • linux,windows
  • xshell

方法/步骤

1. 【步骤一】lsof -i

2. lsof -i 用以显示符合条件的进程情况,lsof(list open files)是一个列出当前系统打开文件的工具。以root用户来执行lsof -i命令,如下图:

Linux和Windows下如何快速查找电脑计算机端口被谁占用

相关推荐

MichelinMessi / 0评论 2012-08-21