查看端口占用情况ubuntu
时间: 2024-08-15 21:07:08 浏览: 99
查看端口占用情况在 Ubuntu 系统中是一个常见的任务,特别是在网络管理、系统维护或调试应用服务时。这里提供一种常用的命令行工具方法来进行检查。
### 使用 `netstat` 命令
#### 基本语法:
```
netstat -tuln
```
这条命令会列出所有当前打开的 TCP 和 UDP 连接以及相关的进程信息。
**解释参数:**
- `-t`: 表示显示 TCP 协议连接。
- `-u`: 表示显示 UDP 协议连接。
- `-l`: 表示只显示正在监听的连接。
- `-n`: 表示显示 IP 地址而非主机名,并直接展示 IP 数字值。
**详细输出示例:**
```shell
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:48749 0.0.0.0:* LISTEN 6599/freeradiusd
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN 6638/mysqld
udp 0 0 0.0.0.0:68 0.0.0.0:* 552/freeradiusd
udp 0 0 ::1:53 :::* 579/bind
```
在这个例子中,我们可以看到有多个端口正在监听。每个条目都包含一些信息,如协议类型 (`tcp` 或 `udp`)、本地地址、远端地址(如果有客户端连接)、状态(如 `LISTEN` 或 `ESTABLISHED`),以及对应的进程 ID (PID)和程序名称。
### 使用 `ss` 命令
`ss` 命令相较于 `netstat` 更加现代和功能丰富。它同样可以用于检查端口占用情况。
#### 基本语法:
```
ss -tnlp
```
这条命令的功能类似于 `netstat -tuln`,但它通常在较新的版本的 Linux 发行版中可用,尤其是在基于 Debian 的发行版上。
**输出解释**:
`ss` 命令的输出与 `netstat` 相似,但在样式和信息呈现上有细微差别。例如,它可以更容易地过滤和排序结果,而且输出更易读。
通过上述命令,你可以轻松地确定哪些端口正被服务占用,在排查服务器问题时提供重要信息。如果需要进一步的定制查询(比如仅查看特定端口的状态),可以通过增加参数或者利用管道(`|`)结合其他命令进行细化筛选。
---
阅读全文