netstat 未显示 Windows 10 中 WSL Ubuntu 中任何端口上运行的任何进程

netstat 未显示 Windows 10 中 WSL Ubuntu 中任何端口上运行的任何进程

我在 8080 端口上设置了一个 nodejs 服务器。当我在 WSL Ubuntu 终端中输入此命令时,它没有显示任何结果:

netstat -a | grep :8080

但是,当我使用 Windows PowerShell 命令检查此端口是否正在监听时,它可以正常工作:

在此处输入图片描述

这是正常的还是有问题?

附言:我需要知道这一点,因为即使端口转发已完成,我也无法使用公共 IP 从任何其他网络访问我的服务器。我只能使用我的私有 IP 并在同一网络/LAN 上访问它。

所以我在想可能是因为 WSL 没有显示它正在运行,也许这就是原因。

答案1

西弗吉尼亚海岸似乎没有得到很好的支持对于像ss或 这样的命令netstat提供解决方案是运行相关的 Windows 二进制文件。

但是您没有看到列出的端口的原因是因为netstat尝试将端口号更改为名称(在本例中8080http-alt),以方便使用。请尝试:

netstat -a --numeric-ports | grep :8080

真实的Linux 设置我将改用ss -plt src :8080,显示在本地 8080 端口上监听的所有 TCP 套接字以及连接的进程。ss包含在 iproute2 包中,是的替代品netstat

为了避免转发端口的麻烦,你也可以尝试隧道替代方案。一个流行的开源是玻璃钢. 有了cloudlfare隧道就会cloudflared tunnel --url http://localhost:8080

相关内容