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