带有 --inet 选项的 netstat 不显示正在监听的 tcp por

带有 --inet 选项的 netstat 不显示正在监听的 tcp por

有人可以解释一下为什么命令的输出不同吗?

user@geeko:~> netstat -ln | grep 9876
tcp        0      0 127.0.0.1:9876          :::*                    LISTEN

user@geeko:~> netstat -ln --inet | grep 9876
user@geeko:~> 

显然是因为 127.0.0.1 的外部地址是 :::*并且--inet选项仅显示具有0.0.0.0:*我猜测:::*是 ip6 格式的端口。但是为什么--inet|--ip选项仅显示 ip4 端口呢?

答案1

你做到了吗man netstat?很明显,它--inet指定了 tcp 版本 4 地址。从手册页中:

address_family_options:

   [-4|--inet]  [-6|--inet6]  ...

...因此,如果您想要 IPv6,则需要添加--inet6-6选项。或者完全放弃--inet,正如您所见。

相关内容