ss 输出中 0.0.0.0 和 * 网络之间的差异

tcu*_*rdt 6 networking linux routing

ss命令似乎区分*0.0.0.00.0.0.0:22虽然 ssh和的列表[::]:22很清楚,*:7946*:80并不那么清楚。

$ ss -ntl
State    Recv-Q   Send-Q     Local Address:Port     Peer Address:Port  
LISTEN   0        128              0.0.0.0:22            0.0.0.0:*     
LISTEN   0        128                    *:7946                *:*     
LISTEN   0        128                    *:80                  *:*     
LISTEN   0        128                 [::]:22               [::]:* 
Run Code Online (Sandbox Code Playgroud)

为什么不是0.0.0.0:79460.0.0.0:80?这里有什么区别?

小智 8

区别在于地址族内部:

0.0.0.0:22:这是一个侦听套接字,可接受任何接口上的连接,端口 22 仅用于 IPv4 连接。

[::]:22:此处相同,但适用于 IPv6 连接。

LISTEN   0        128                    *:80                  *:*  
Run Code Online (Sandbox Code Playgroud)

这是一个监听套接字,它接受 IPv4 和 IPv6 连接请求。