常识来了
白蓝主题五 · 清爽阅读
首页  > 网络排错

命令行查看开放端口,快速排查网络问题

电脑连不上服务器,网站打不开,程序启动失败……很多时候,问题出在“端口”上。别急着重装系统或找人求助,打开命令行,几条简单命令就能帮你查清楚哪些端口正开着。

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

如果命令返回了结果,说明端口已被占用。接下来就可以判断是正常服务还是可疑进程了。

排查网络故障时,这些命令就像手电筒,能照见系统背后的真实情况。多试几次,很快就能记住常用参数,不用每次都翻文档。