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


0

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

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端口?

Answers:


0

man netstat呢?很明显,--inet指定tcp版本4地址。从手册页:

address_family_options:

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

...因此,如果您需要IPv6,则需要添加--inet6-6选项。或者--inet如你所见,完全离开。


当然我做了但是这里是我的man netstat:--protocol = family,-A指定要显示连接的地址族(可能更好地描述为低级协议)。family是逗号(',')分隔的地址族关键字列表,如inet,unix,ipx,ax25,netrom和ddp。这与使用--inet, - unix(-x), - ipx, - ax25, - netrom和--ddp选项具有相同的效果。地址族inet包括raw,udp和tcp协议套接字。
Arkonix 2015年

man netstat和我一样man netstat,而且我很清楚这--inet是针对IPv4的,而且--inet6是针对IPv6的。无论如何,那就是我所期待的。虽然我不得不承认你的第一个输出令人困惑,因为它显示“tcp”而不是“tcp6”。您使用的是什么操作系统版本和netstat版本(netstat --version)?
Mike S

它是netstat 1.42和openSUSE Linux 13.2。我不认为我man netstat的相同,因为我没有“--inet6”的概念。此外-4-6 无效的选项,但--inet6有效。
Arkonix 2015年

啊......是的,我正在从“net-tools 2.10-alpha”查看netstat的手册页(请注意,它不再单独显示netstat的版本,而是1.42版本的版本)。手册页看起来不完整; 在2.10-alpha版本中有更多的描述,但即便如此,它也没有那么明确。并且存在特殊输出的问题。总而言之,它有点神秘。
Mike S

(当我将旧netstat的输出与较新的netstat进行比较时,我看到后者的各种调整。不仅netstat被弃用,但我认为1.42尚未准备好进入IPv6黄金时段)
Mike S
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.