在我的一个工作系统上,netstat 显示多播组成员信息,而 ss 缺少一对。我想知道为什么。例如:
[root@myhost ~]# netstat -gn | egrep "Inter|239.192"
Interface RefCnt Group
em4.204 1 239.192.33.183
em1.16 2 239.192.35.1
em1.16 2 239.192.12.98
em1.16 1 239.192.32.1
[root@myhost ~]# ss -apu | egrep "State|239.192"
State Recv-Q Send-Q Local Address:Port Peer Address:Port
UNCONN 0 0 239.192.35.1:12965 *:*
UNCONN 0 0 239.192.12.98:12965 *:*
UNCONN 0 0 239.192.35.1:12965 *:*
UNCONN 0 0 239.192.12.98:12965 *:*
请注意,ss 仅显示 RefCnt 为 2 的那些组。
从技术上讲,ip maddr show
是 RefCnt 的替代品,netstat -gn
但不包括 RefCnt,而且它的输出更麻烦。此外,我们对 ss 更详细的输出感兴趣,它可以包括侦听进程的 PID(此处未显示,因为当前实际上没有进程正在侦听多播,如下所示netstat -ulpn
:
[root@myhost ~]# netstat -ulpn | egrep "Proto|239.192"
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 239.192.35.1:12965 0.0.0.0:* -
udp 4480 0 239.192.12.98:12965 0.0.0.0:* -
udp 0 0 239.192.35.1:12965 0.0.0.0:* -
udp 0 0 239.192.12.98:12965 0.0.0.0:* -