一、Windows系统
命令行工具(推荐) 打开命令提示符(CMD),输入以下命令:
```bash
netstat -ano
```
该命令会显示所有活动的网络连接及其对应的进程ID(PID)。
查看特定端口:
```bash
netstat -ano | findstr 端口号(如80)
```
例如查找端口80的占用情况。
任务管理器
按 `Ctrl + Shift + Esc` 打开任务管理器,切换到“详细信息”选项卡。
在“网络”或“连接/本地连接”部分查看进程ID和端口占用情况。
第三方工具
TCPView: 提供直观的图形界面,显示所有活动的TCP/UDP端口及进程。 PortQry
二、Linux/Mac系统
命令行工具 打开终端,输入以下命令:
```bash
sudo netstat -tuln
```
或使用更现代的 `ss` 命令:
```bash
sudo ss -tuln
```
这两个命令会显示所有监听中的TCP和UDP端口。
查看特定端口:
```bash
sudo netstat -tulnp | grep 端口号(如80)
```
或使用 `ss`:
```bash
sudo ss -tulnp | grep 80
```
结果中会显示占用端口的进程ID(PID)。
进程管理工具
使用 `lsof` 命令:
```bash
sudo lsof -i :端口号(如80)
```
例如:
```bash
sudo lsof -i :80
```
可查看进程名称及PID。
三、注意事项
权限问题:
部分命令(如 `netstat -ano`、`lsof`)需以管理员权限运行,Linux/Mac系统需使用 `sudo`。
端口类型差异
`netstat`:默认显示TCP端口,需使用 `-tuln` 参数显示监听端口。
`ss`:默认显示所有端口(包括监听和非监听状态)。
动态端口处理:
上述方法主要显示当前活跃连接,若需查看系统监听端口,建议使用 `netstat -tuln` 或 `ss -tuln`。
通过以上方法,可快速定位电脑开放的端口及占用进程,辅助网络故障排查和配置管理。