在网络管理与维护工作中,准确掌握当前机器处于监听(listen)状态的所有端口至关重要。这不仅有助于了解系统的网络连接状况,排查潜在的安全风险,还能为优化网络配置提供关键依据。那么,具体该通过哪些方法来查看当前机器 listen 的所有端口呢?
在Linux系统中,查看当前机器上所有处于监听状态的端口,可以使用多种命令。其中最常用的命令是`netstat`和`ss`。以下是具体的操作方法:
使用`netstat`命令
`netstat`是一个功能强大的网络工具,可以显示网络连接、路由表、接口统计等信息。要查看所有监听的端口,可以使用以下命令:
```sh
netstat -tuln
```
- `-t`:显示TCP端口
- `-u`:显示UDP端口
- `-l`:仅显示监听状态的端口
- `-n`:以数字形式显示IP地址和端口号,不进行域名解析
例如,运行`netstat -tuln`后,你会看到类似以下的输出:
```
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
```
使用`ss`命令
`ss`是另一个用于查看套接字信息的工具,功能与`netstat`类似,但通常性能更好。要查看所有监听的端口,可以使用以下命令:
```sh
ss -tuln
```
- `-t`:显示TCP端口
- `-u`:显示UDP端口
- `-l`:仅显示监听状态的端口
- `-n`:以数字形式显示IP地址和端口号,不进行域名解析
例如,运行`ss -tuln`后,你会看到类似以下的输出:
```
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:631 *:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:631 :::*
```