Linux怎么查看服務器開放和啟用的端口
Linux 中可以使用 `netstat` 或 `lsof` 命令來查看服務器開放和啟用的端口。
1. 使用 `netstat` 命令:
```bash
netstat -tlnp
```
該命令會列出所有當前正在監(jiān)聽的 TCP 端口和 UDP 端口以及對應的進程信息。其中:
- `-t` 指定只顯示 TCP 協(xié)議相關的網(wǎng)絡連接;
- `-l` 指定只顯示監(jiān)聽狀態(tài)的網(wǎng)絡連接;
- `-n` 指定以數(shù)字形式顯示端口號和 IP 地址,而不是使用主機名和服務名;
- `-p` 顯示與端口相關的進程信息。
2. 使用 `lsof` 命令:
```bash
lsof -i -P -n | grep LISTEN
```
該命令會列出所有處于監(jiān)聽狀態(tài)的網(wǎng)絡連接。其中:
- `-i` 指定顯示與網(wǎng)絡相關的文件;
- `-P` 指定使用數(shù)字形式顯示端口號和 IP 地址,而不是使用主機名和服務名;
- `-n` 指定不解析主機名;
- `grep LISTEN` 用于過濾出處于監(jiān)聽狀態(tài)的網(wǎng)絡連接。
上述命令執(zhí)行后,會輸出類似以下的信息:
```
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
tcp6 0 0 :::80 :::* LISTEN 5678/apache2
```
輸出結(jié)果中,第一列為協(xié)議類型,第二列為接口地址和端口號,第三列為狀態(tài),第四列為進程 ID 和進程名??梢酝ㄟ^端口號和進程名來確定服務器開放和啟用的端口。