netstat 不支持此系统

netstat 不支持此系统

尝试解决我的 Ubuntu 22 操作系统中的另一个问题

我需要检查 tightvnc 正在监听的连接的端口。

我使用这个命令:sudo netstat -lvp | grep vnc

但是这个命令返回的是:

netstat: no support for 'AF INET (sctp)' on this system
netstat: no support for 'AF INET (sctp)' on this system
netstat: no support for 'AF IPX' on this system
netstat: no support for 'AF AX25' on this system
netstat: no support for 'AF X25' on this system
netstat: no support for 'AF NETROM' on this system
netstat: no support for 'AF ROSE' on this system

什么样的‘支持’?

我该如何支持这一点?

答案1

您之所以看到这些内容,是因为您使用了详细标志。正如手册中man netstat状态:

--verbose, -v
   Tell the user what is going on by being verbose. 
   Especially print some useful information about 
   unconfigured address families.

后来手册解释了什么netstat是地址系列:

--protocol=family, -A
指定地址系列(可能更好地描述为低级协议)要显示哪些连接。family 是一个逗号 (',') 分隔的地址系列关键字列表,例如 inet、inet6、unix、ipx、ax25、netrom、econet、ddp 和 bluetooth。这与使用--inet|-4--inet6|-6--unix|-x--ipx--ax25--netrom--ddp--bluetooth选项具有相同的效果。

那些“该系统不支持‘模糊地址系列/协议’” 所显示的是,其中一些地址系列和低级协议虽然受支持,但netstat您的系统不支持。

这是意料之中的。

通用服务器并不支持所有协议,通常是因为它们很少使用和/或例如因为特定协议仅对特定的相关硬件有意义。

我查了一下AX.25 协议;该协议(如 NET/ROM 和 ROSE)是为业余无线电操作员使用和在业余分组无线电网络上使用而设计的;因此不是通常需要通用服务器支持的协议。

内核文档:https://docs.kernel.org/networking/sctp.html将 Linux 内核 SCTP(流控制传输协议)支持列为测试版,所以这可能是您的 Linux 发行版默认不启用它的原因。

如果您想要启用对这些协议的支持:您将需要明确地加载sctprose | ax25 | x25 内核模块,如下所示(以 root 身份或使用sudo):

# modprobe sctp

并且有关不支持的协议的信息消息应该消失。

答案2

如果您仍然无法查看您的 TCP 和 UDP 连接,netstat请尝试使用lsof -i并使用-Po标志来查看没有端口名称和反向 DNS 名称的连接。

如果上述方法失败,请查看https://unix.stackexchange.com/questions/203723/how-can-i-list-all-connections-to-my-host- including-those-to-lxc-guests

相关内容