ubuntu 查看开放的端口
时间: 2025-01-04 07:18:08 浏览: 11
### 如何在 Ubuntu 中查看开放的端口
为了查看 Ubuntu 系统上当前开放的端口,可以使用多种命令行工具来实现这一目标。
#### 使用 `netstat` 命令
尽管 `netstat` 工具逐渐被更现代的替代品取代,在许多情况下它仍然是有效的。要安装并使用此命令,需先确认已安装 `net-tools` 包:
```bash
sudo apt-get install net-tools
```
之后可以通过如下命令查看所有监听状态下的 TCP 和 UDP 端口[^1]:
```bash
netstat -tuln
```
该命令中的选项含义分别为:
- `-t`: 显示 TCP 端口;
- `-u`: 显示 UDP 端口;
- `-l`: 仅显示处于监听状态的服务;
- `-n`: 不解析服务名称和主机名,直接以数字形式展示 IP 地址和端口号。
#### 使用 `ss` 命令
作为 `netstat` 的高效替代方案,`ss` 是另一个强大的网络统计工具,默认已经预装于大多数 Linux 发行版之中。执行下面这条指令同样能够获取到正在使用的端口列表[^2]:
```bash
ss -tuln
```
这里的参数意义同前文提到的一致。
#### 利用 `lsof` 查看特定进程打开的端口
如果想要了解某个具体应用程序所占用的端口情况,则可借助 `lsof` (List Open Files) 实现。例如,查询名为 "nginx" 的 Web 服务器程序正通过哪些端口提供服务:
```bash
sudo lsof -i -P | grep nginx
```
上述命令会返回 Nginx 进程关联的所有连接详情以及对应的本地地址与远程地址信息。
对于希望进一步过滤出仅有 IPv4 或者 IPv6 协议上的活动端口而言,还可以分别加上 `-4` 或者 `-6` 参数给 `lsof` 来完成操作。
#### 使用 `nmap` 执行端口扫描
最后一种方法涉及到了著名的网络安全审计软件——Nmap(Network Mapper)。虽然严格来说这并不属于标准系统自带功能的一部分,但对于安全测试人员来说非常有用。安装完成后,可以用简单的语法对本机进行快速扫描从而得知对外开放了多少个端口:
```bash
sudo nmap -sT localhost
```
这里选择了TCP connect()扫描方式(-sT),针对的是回环接口(localhost);当然也可以指定其他IP地址来进行外部访问检测。
阅读全文