一、Windows系统
命令行工具 - netstat命令
打开命令提示符(Win + R → cmd),输入以下命令:
```bash
netstat -ano
```
该命令会列出所有活动连接及对应进程ID(PID)。若需查看特定端口,可添加参数:
```bash
netstat -ano | findstr :80
```
- PowerShell命令
输入以下命令查看所有TCP连接:
```bash
Get-NetTCPConnection
```
检查特定端口(如80):
```bash
Get-NetTCPConnection -LocalPort 80
```
- 任务管理器
切换到“详细信息”选项卡,查看“网络”列中的端口使用情况。
第三方工具
- TCPView: 实时显示所有TCP/UDP端口及进程信息。 - PortScan
二、Linux系统
命令行工具 - netstat命令
打开终端,输入:
```bash
sudo netstat -tuln
```
该命令显示所有监听中的TCP和UDP端口。若需过滤特定端口,可添加`grep`:
```bash
sudo netstat -tuln | grep :80
```
- ss命令
输入:
```bash
sudo ss -tuln
```
或检查特定端口:
```bash
sudo ss -tuln | grep :22
```
- lsof命令
输入:
```bash
sudo lsof -i :*
```
该命令列出所有占用端口的进程信息。
三、注意事项
权限问题
- 部分命令(如`netstat -ano`)需以管理员权限运行,建议右键命令提示符或终端选择“以管理员身份运行”。
端口状态解读
- LISTENING: 服务正在监听连接请求 - ESTABLISHED
- TIME_WAIT:连接已关闭,等待对方确认
- CLOSE_WAIT:等待本地关闭请求
网络配置差异
- 上网端口(如80/443)通常在`netstat -ano`中显示为`0.0.0.0:端口号`,而本地服务端口可能显示为`127.0.0.1:端口号`。
通过以上方法,可快速定位电脑的通讯端口及占用进程,辅助网络故障排查与安全审计。