一、简单了解"端口"
"端口"可以认为是计算机与外界通信交流的出口。一个IP地址可以有65536(即256*256)个,端口是通过端口号来标记的,端口号只有整数,范围是0~65 535(0~256*256-1)。
认识端口
计算机领域分为硬件领域和软件领域,在硬件领域中,端口又被称作接口,如常见的USB接口、网卡接口等;在软件领域中,端口一般是指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和基本输入输出缓冲区。
在网络技术中,端口还有其他含义,一种是物理意义上的端口,如集线器、交换机、路由器等连接设备,用于连接其他的网络设备的接口,常见的有RJ-45端口、Serial端口;另一种是逻辑意义上的端口,一般指TCP/IP协议中的端口,范围是0~65535(256*256-1)。
端口分类
可以将端口按照端口号分为以下三类:
- 公认端口(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 组合键,调出命令窗口。
2、查找所有运行的端口
输入命令:
- netstat -ano
该命令列出所有端口的使用情况。
在列表中我们观察被占用的端口,比如是 1224,首先找到它。
3、查看被占用端口对应的 PID
输入命令:
- netstat -aon|findstr "8081"
回车执行该命令,最后一位数字就是 PID, 这里是 9088。
4、查看指定 PID 的进程
继续输入命令:
- tasklist|findstr "9088"
回车执行该命令。
查看是哪个进程或者程序占用了 8081 端口,结果是:node.exe。
结束进程
强制(/F参数)杀死 pid 为 9088 的所有进程包括子进程(/T参数):
- taskkill /T /F /PID 9088
或者是我们打开任务管理器,切换到进程选项卡,在PID一列查看9088对应的进程是谁,如果看不到PID这一列,如下图:
之后我们就可以结束掉这个进程,这样我们就可以释放该端口来使用了。
三、Linux系统下如何查看端口被哪个进程占用?
1、lsof -i:端口号
2、netstat -tunlp|grep 端口号
都可以查看指定端口被哪个进程占用的情况
工具/原料
- linux,windows
- xshell
方法/步骤
1. 【步骤一】lsof -i
2. lsof -i 用以显示符合条件的进程情况,lsof(list open files)是一个列出当前系统打开文件的工具。以root用户来执行lsof -i命令,如下图:
1.【步骤二】lsof -i:端口号
2.lsof -i:端口号,用于查看某一端口的占用情况,比如查看22号端口使用情况,lsof -i:22,如下图
1.【步骤三】netstat -tunlp
2.netstat -tunlp用于显示tcp,udp的端口和进程等相关情况,如下图
1.【步骤四】netstat -tunlp|grep 端口号
2.netstat -tunlp|grep 端口号,用于查看指定端口号的进程情况,如查看22端口的情况,netstat -tunlp|grep 22,如下图
2011-03-30 10:25:42
2009-11-18 16:37:20