电脑连不上服务器,网站打不开,程序启动失败……很多时候,问题出在“端口”上。别急着重装系统或找人求助,打开命令行,几条简单命令就能帮你查清楚哪些端口正开着。
Windows 上用 netstat 查端口
在 Windows 里,netstat 是查看网络连接的老牌工具。按下 Win + R,输入 cmd 打开命令提示符,输入下面这行:
netstat -an | findstr LISTENING
这条命令的意思是:列出所有网络连接和监听端口,然后只显示包含“LISTENING”的行,也就是正在开放等待连接的端口。比如看到 0.0.0.0:80 或 [::]:443,说明本机正在监听 80 和 443 端口,可能是 Web 服务起来了。
如果想顺便看看是哪个程序占用了端口,加个 -b 参数:
netstat -abn | findstr LISTENING
注意:这个命令需要管理员权限,否则可能看不到程序名。
Linux 和 macOS 用 netstat 或 ss
在 Linux 或 Mac 上,同样可以用 netstat,不过更推荐使用更新更快的 ss 命令。
查看所有监听中的 TCP 端口:
ss -tuln
参数解释:
t 表示 TCP,u 表示 UDP,l 只看监听状态,n 表示不解析服务名(直接显示数字端口)。
如果你还是习惯用 netstat,命令类似:
netstat -tuln
输出中,Local Address:Port 这一列就是当前开放的端口。比如看到 0.0.0.0:22,说明 SSH 服务正在运行。
想知道谁占了某个特定端口?
有时候你只想确认 3306(MySQL)、6379(Redis)这类关键端口有没有被占用。可以直接过滤:
Windows:
netstat -an | findstr :3306
Linux/macOS:
ss -tuln | grep :6379
如果命令返回了结果,说明端口已被占用。接下来就可以判断是正常服务还是可疑进程了。
排查网络故障时,这些命令就像手电筒,能照见系统背后的真实情况。多试几次,很快就能记住常用参数,不用每次都翻文档。