计算机端口的定义
在搜狗百科中,给端口这样的定义:
软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。(看不懂看不懂看不懂)
结合网络上的各种材料以及自己的理解,我这样“说端口”:
简单地说,端口就像是一个班级中学生的学号,我一喊学号,对应的那个同学就会站起来。(这瓶旺仔牛奶给001号同学,此时001号同学就站起来取走了旺仔牛奶;我要把这个文件传输给某某进程(端口号001),此时这个进程就准确无误拿到了文件)
可以这么说:不同的进程有不同的端口号,用来区分软件。
端口数量
规定端口数量是0-65535(一共65536个端口号)
而端口分为TCP协议端口和UDP协议端口,因此端口数量翻倍,即65536*2
注意:同一个协议的端口号不能重复,不同协议的端口号可以重复(例如:软件A使用了tcp的50端口,则软件B不能使用tcp的50端口,但可以使用udp的5.0端口)。
计算机端口的分类
1. 公有端口0-1023
例如:
-
HTTP:80
-
HTTPS:443
-
FTP:21
-
Telent:23
这部分端口专供系统内部使用。
2. 程序注册端口1024-49151
-
Tomcat:8080
-
SQL server:1433
-
MySQL:3306
-
Oracle:1521
这部分端口分配给用户和程序使用
3. 动态、私有端口49152-65535
端口查询的常用DOS命令
netstat -ano # 查询系统所有端口
netstat -ano|findstr "1433" # 查看指定的端口
tasklist|finstr "1433" #查询指定端口的进程