**简介**
端口是网络设备或软件应用程序用于接收和发送数据的端点。查看已使用的端口对于维护网络安全和网站优化至关重要。Linux 操作系统提供了多种 来查看已使用的端口。
使用 netstat 命令
netstat 是一个用于显示网络连接和端口的常用命令。要查看已使用的端口,请运行以下命令:
netstat -apn | grep LISTEN
此命令将显示正在侦听端口的进程列表。输出将包含以下信息:
* **Proto**:协议(例如 TCP、UDP)
* **Recv-Q**:接收队列长度
* **Send-Q**:发送队列长度
* **Local Address**:本地地址和端口
* **Foreign Address**:远程地址和端口
* **State**:连接状态(例如 LISTEN、ESTABLISHED)
使用 lsof 命令
lsof(列出打开的文件)命令也可以用来查看已使用的端口。要查看已使用的端口,请运行以下命令:
lsof -i:port
此命令将显示正在使用指定端口的进程列表。输出将包含以下信息:
* **COMMAND**:进程名称
* **PID**:进程 ID
* **USER**:进程所有者
* **FD**:文件描述符
* **TYPE**:文件类型(例如 REG、SOCK)
* **DEVICE**:设备名称
* **SIZE/OFF**:文件大小或偏移量
* **NODE**:节点名称
使用 ss 命令
ss 命令是 netstat 的替代品,提供了一个更详细的网络连接视图。要查看已使用的端口,请运行以下命令:
ss -ltun
此命令将显示正在侦听的端口列表。输出将包含以下信息:
* **Proto**:协议(例如 TCP、UDP)
* **Recv-Q**:接收队列长度
* **Send-Q**:发送队列长度
* **Local Address**:本地地址和端口
* **Peer Address**:远程地址和端口
* **State**:连接状态(例如 LISTEN、ESTABLISHED)
应用程序的端口
除了系统进程外,应用程序也可能使用端口。要查看应用程序使用的端口,可以使用以下命令:
ps aux | grep program_name
此命令将显示正在运行指定程序的进程列表。输出将包含以下信息:
* **USER**:进程所有者
* **PID**:进程 ID
* **%CPU**:CPU 使用率
* **%MEM**:内存使用率
* **VSZ**:虚拟内存大小
* **RSS**:驻留集大小
* **TTY**:终端名称
* **STAT**:进程状态
* **START**:进程启动时间
* **TIME**:进程运行时间
* **COMMAND**:进程命令行
查看已使用的端口对于网络安全和网站优化至关重要。通过使用 netstat、lsof、ss 和 ps 命令,可以轻松识别正在侦听端口的进程和应用程序。定期检查端口使用情况有助于检测恶意活动、管理网络资源并确保网站的正常运行。