计算机网络 3.端口

端口

​ 设备与外界通讯交流的出口,端口可分为虚拟端口和物理端口

物理端口:USB插口,网卡插口等

虚拟端口:计算机、交换机或路由器内的端口,不可见,如计算机中的21端口、22端口、80端口等

应用程序1,应用程序2 应用程序1,应用程序2
端口1,端口2 端口1,端口2
操作系统 操作系统
网卡 → 网络 → 网卡

如果一个程序要收发网络数据,就需要有这样的端口,Linux系统中端口有65536个


端口号

​ 端口是通过端口号来标记的,端口号只有整数,范围是 0 - 65535

端口的分配

​ 端口号不是随意使用的,而是按照一定规则进行分配,端口的分类标准有很多,此处只介绍知名端口和动态端口

知名端口(well known ports)

​ 通用的端口,范围是 0 - 1023,即常用功能使用的号码是固定的,如果一个程序要使用知名端口的话通常需要root权限

常见协议 默认端口号 协议基本作用
FTP 21 文件上传、下载
SSH 22 安全的远程登录
TELNET 23 远程登录
SMTP 25 邮件传输
DNS 53 域名解析
POP3 110 邮件接收
HTTP 80 超文本传输
HTTPS 443 加密传输的HTTPS

动态端口(dynamic ports)

​ 用户可以自己写程序去绑定的,范围是 1024 - 65535,动态端口一般不固定分配某种服务,而是动态分配

​ 动态分配是指当一个系统程序或应用需要网络通信时,它向主机申请一个端口,主机从可用的端口号中分配一个供它使用,当这个程序关闭时,释放所占用的端口号


netstat

​ netstat 命令是一个监控 TCP/IP 网络的工具,可以显示网络连接、路由表、网络接口信息,可以让用户查看目前哪些网络连接正在运作

netstat -an

​ 查看端口状态

# 查询所有含该端口的信息
netstat -an | grep :端口号
lsof
# 查询端口号被哪个程序占用
sudo lsof -i [TCP/UDP]:端口号
netstat -nlt

​ 查看服务器 socket,即当前哪些正在监听中,因为有些是已连接但不活跃的


上一篇:Windows CMD 常用命令


下一篇:java中jdk安装配置信息