一、Windows系统
使用netstat命令 - 打开命令提示符(CMD),输入以下命令:
```bash
netstat -ano | findstr 端口号
```
例如检查8080端口:
```bash
netstat -ano | findstr 8080
```
若输出包含进程ID(PID)等信息,表示端口开放;否则关闭。
使用telnet命令
- 打开CMD,输入:
```bash
telnet 本地IP 端口号
```
例如:
```bash
telnet 127.0.0.1 8080
```
若连接成功,会进入新窗口;若失败则提示“无法连接”。
使用PowerShell命令
- 输入:
```bash
Get-NetTCPConnection -LocalPort 端口号
```
例如:
```bash
Get-NetTCPConnection -LocalPort 8080
```
若返回活动连接,表示端口开放。
二、Linux系统
使用netstat命令
- 打开终端,输入:
```bash
netstat -tulnp | grep 端口号
```
例如检查80端口:
```bash
netstat -tulnp | grep 80
```
输出中若包含“LISTEN”状态,表示端口开放。
使用ss命令
- 输入:
```bash
ss -tulnp | grep 端口号
```
例如:
```bash
ss -tulnp | grep 80
```
类似netstat,显示“LISTEN”状态即表示开放。
使用lsof命令
- 输入:
```bash
lsof -i :端口号
```
例如:
```bash
lsof -i :80
```
若返回进程列表,表示端口被占用且开放。
三、其他工具
第三方工具
- TCPView(Windows):直观显示所有TCP/UDP端口及进程占用情况。
- PortQry(Windows):支持快速扫描多个端口状态。
注意事项
协议限制: `netstat`、`telnet`等工具默认检测TCP协议,若需检测UDP端口,需使用`netstat -u`或`nc -uz`等命令。 防火墙设置
远程检测:上述方法主要用于本地端口检测,远程端口检测需配合网络工具(如`telnet`或`nc`)并确保目标主机允许远程连接。
通过以上方法,可快速判断本地及远程端口开放状态。