Ubuntu 22.04系统中netstat命令提示地址族不支持及查看tightvnc监听端口的问题
Ubuntu 22.04系统中netstat命令提示地址族不支持及查看tightvnc监听端口的问题
嗨,我来帮你捋清楚这个问题~
首先来说那些烦人的报错信息:你看到的“no support for ...”是因为netstat这个工具在Ubuntu 22.04里默认没有编译对这些老旧/不常用网络地址族的支持,比如SCTP、IPX、AX25这些,都是过去特定场景用的协议,现在普通桌面用户几乎用不上,所以系统没给netstat加这些支持模块,它就会弹出这些警告,但其实这些警告完全不影响你查VNC端口的操作,只是看着闹心而已。
针对你的两个疑问:
- 这里的“support”指的是netstat工具对特定网络地址族(不同类型的网络协议栈)的兼容能力,简单说就是netstat能不能识别和处理这些协议的网络连接。
- 完全没必要去“支持”这些地址族!因为你根本用不到它们。如果实在想消除这些警告,要么重新编译netstat并添加对应支持(非常麻烦,完全没必要),要么直接换个更现代的工具替代netstat——这才是更推荐的方案。
接下来解决你的核心需求:查看tightvnc的监听端口,给你两个实用方法:
方法一:让netstat只查常用协议,避免警告
直接在命令里指定只检查TCP和UDP协议(这两个是你日常用的),就不会触发那些不支持的地址族检查了,命令如下:
sudo netstat -lvp -t -u | grep vnc
参数解释:-t指定TCP协议,-u指定UDP协议,-l显示监听状态的端口,-v显示详细信息,-p显示对应进程名。
方法二:用更现代的ss命令替代netstat
Ubuntu 22.04推荐用ss命令来替代netstat,它是iproute2工具集的一部分,功能更强、速度更快,也不会有那些烦人的警告。查看tightvnc监听端口的命令:
sudo ss -lvp | grep vnc
如果只想看TCP端口(VNC通常用TCP),可以更精准:
sudo ss -ltvp | grep vnc
另外补充个小知识点:tightvnc默认的监听端口是5900 + 显示号,比如显示号为0的话就是5900端口,显示号为1就是5901,你也可以直接查这个端口范围,比如:
sudo ss -ltvp | grep ':59'
备注:内容来源于stack exchange,提问作者darkomen




