如何使用 netsat 查看我电脑上的所有端口及其状态?(所有 2^16 个端口)我如何列出计算机传输层中具有开放端口的应用程序以及应用程序名称和端口?对于第二个问题,我得到了这个但不确定它是否正确?因为我希望所有 IP 地址都是 0.0.0.0,因为我的电脑只关心它的端口,我不明白其他 IP 是什么。谢谢。
答案1
对于你的第一个问题:
要列出打开这些连接的可执行文件的名称,只需添加参数“-b”,如下所示:netstat -a -b
还有一个参数“-o”,它显示与网络连接关联的进程的 pid。
对于第二个问题:
0.0.0.0 表示本地机器上的所有 IP 地址。您的 netstat 显示此 IP 地址,因为您有服务正在监听计算机的所有 IP 地址/网络接口。但是,还有本地地址 23.20.0.70,这是您的计算机与对等方通信时使用的源地址。由于您的计算机与特定源地址建立连接,因此 0.0.0.0 在此上下文中作为源地址没有任何意义。
答案2
您可能听说过 Linux 中的所有内容都是文件(某种意义上)。网络端口也一样。大多数程序喜欢netstat
或ss
浏览相应的目录来/proc
查找至少一个进程正在使用的端口并获取其状态和信息,因此它们不会提供有关未使用端口的信息。
例如,这将为您提供本地进程正在监听的所有端口的列表:
netstat -lntp
有关参数的更多信息https://linux.die.net/man/8/netstat