尝试解决我的 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 发行版默认不启用它的原因。
如果您想要启用对这些协议的支持:您将需要明确地加载sctp
或 rose | ax25 | x25
内核模块,如下所示(以 root 身份或使用sudo
):
# modprobe sctp
并且有关不支持的协议的信息消息应该消失。
答案2
如果您仍然无法查看您的 TCP 和 UDP 连接,netstat
请尝试使用lsof -i
并使用-Po
标志来查看没有端口名称和反向 DNS 名称的连接。