暑假运维学习打卡第十五天8.6
Linux端口与ss命令详解
1、端口
端口是设备与外界通讯交流的出入口,用于标识设备上不同的网络服务或者程序。
IP地址 = 大楼的地址(比如:192.168.88.100)
端口 = 大楼里的房间号(比如:22、80、3306)
程序 = 在房间里工作的人
端口的作用:
标识网络服务:通过端口可以唯一标识设备上的不同网络服务或程序
实现多路复用:允许同一台设备上的多个程序同时与网络进行通信
确保通信准确性:在IP地址的基础上,通过端口进一步锁定具体的程序
2、物理端口和虚拟端口
物理端口即计算机硬件上的可见接口,用于连接外部设备,如USB接口等。
虚拟端口是计算机内部的端口,不可见,用于操作系统与外部程序之间的交互。
通信过程:
- 计算机A上的程序通过某个端口发出访问请求
- 访问请求包含目标计算机B的IP地址和目标程序的端口号
- 计算机B收到请求后,通过端口号将数据发送到对应的程序
IP地址 + 端口号 = 唯一标识网络中的某个程序
例子:192.168.88.100:22 表示IP地址为192.168.88.100的计算机上的22号端口
3、Linux中的端口分类
Ⅰ、公认端口:
- 范围:1 - 1023
- 用途:用于系统内置或知名程序的预留使用
- 特点:由IANA(互联网号码分配局)统一分配和管理
- 常见例子:
- SSH服务:22端口
- HTTP服务:80端口
- HTTPS服务:443端口
- FTP服务:21端口
- Telnet服务:23端口
Ⅱ、注册端口:
- 范围:1024 - 49151
- 用途:用于松散绑定程序或服务
- 特点:可以由用户程序自由使用,但需要在IANA注册
- 常见例子:
- MySQL数据库:3306端口
- Tomcat服务器:8080端口
- Redis服务:6379端口
- MongoDB服务:27017端口
Ⅲ、动态端口:
- 范围:49152 - 65535
- 用途:用于临时使用,不固定绑定程序
- 特点:当程序对外发起网络连接时临时分配使用
4、ss命令
ss(Socket Statistics)是Linux系统中用于查看网络连接、端口状态等信息的现代命令行工具,来自iproute2包。它是netstat命令的替代者,速度更快、输出更简洁,是Rocky Linux 9推荐使用的工具。
格式:ss [选项]
常用选项
| 选项 | 功能描述 | 记忆技巧 |
|---|---|---|
-t |
只显示TCP连接 | t = TCP |
-u |
只显示UDP连接 | u = UDP |
-l |
只显示监听状态的端口 | l = Listen(监听) |
-n |
以数字形式显示地址和端口号(不解析域名) | n = Number(数字) |
-p |
显示建立连接的进程ID和进程名 | p = Process(进程) |
-a |
显示所有连接和监听端口 | a = All(所有) |
-s |
显示网络统计摘要 | s = Summary(摘要) |
-r |
显示路由表 | r = Route(路由) |
常用组合:
# 查看所有TCP监听端口和对应的进程(最常用!)
ss -tlnp
# 查看所有UDP监听端口和对应的进程
ss -ulnp
# 查看所有连接和监听端口
ss -anp
# 查看网络统计摘要
ss -s
TCP连接监听端口输出解析:
State:连接状态,LISTEN表示监听状态(等待连接)Recv-Q:接收队列中的字节数,可以理解为"已经收到但还没被程序读取的数据"- 💡 类比:就像快递员送到家门口但还没拆开的包裹
Send-Q:发送队列中的字节数,可以理解为"已经发送但对方还没确认的数据"- 💡 类比:就像已经寄出但对方还没签收的快递
Local Address:Port:本地地址和端口(监听的地址)Peer Address:Port:远程地址和端口(连接的客户端地址)Process:进程信息(包含进程名、PID和文件描述符)
UDP端口输出示例:(UDP是无连接协议,所以没有"建立连接"的概念,状态永远是UNCONN)
State:UNCONN表示UDP无连接状态(UDP是无连接协议)Recv-Q:接收队列中的字节数Send-Q:发送队列中的字节数Local Address:Port:本地地址和端口Peer Address:Port:远程地址和端口(UDP为*表示任意地址)Process:进程信息
网络统计摘要:(适合快速查看服务器整体网络状态,适合排查性能问题)

Total:总的连接数TCP:TCP连接统计estab:已建立的连接数closed:已关闭的连接数timewait:TIME_WAIT状态的连接数
Transport:传输协议类型统计
常用操作:
查看指定端口:ss -nlp | grep xx
查看特定进程的连接: ss -anp | grep sshd
查看特定状态的连接:ss -ant state listening
查看特定地址的连接:ss -an | grep 192.168.88.100
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)