netstat 结果的“本地地址”中的 *.* 代表什么?

netstat 结果的“本地地址”中的 *.* 代表什么?

当我执行以下操作时netstat

$ netstat -nap udp -f inet
Active Internet connections (including servers)
Proto   Recv-Q Send-Q  Local Address          Foreign Address        (state)
udp          0      0  192.168.1.23.37177     212.83.160.142.123
udp          0      0  192.168.1.23.44025     195.154.189.15.123
udp          0      0  192.168.1.23.48639     163.172.228.190.123
udp          0      0  192.168.1.23.26792     5.135.3.88.123
udp          0      0  *.514                  *.*
udp          0      0  *.*                    *.*

我看到前四行 udp 行用于 NTP:好的

下一行(端口 514)用于 syslogd:确定

但是下一行是什么意思呢?

udp          0      0  *.*                    *.*

任何人都可以从任何地方连接到任何端口?或者监听我机器上的任何端口的过程是什么?我怎样才能找到那个进程?

编辑

$ fstat | grep udp
_ntp     ntpd       35059    6* internet dgram udp 192.168.1.23:5862 <-> 212.83.158.83:123
_ntp     ntpd       35059    7* internet dgram udp 192.168.1.23:45616 <-> 51.255.141.154:123
_ntp     ntpd       35059    8* internet dgram udp 192.168.1.23:23331 <-> 5.135.3.88:123
_ntp     ntpd       35059    9* internet dgram udp 192.168.1.23:18127 <-> 129.250.35.251:123
_syslogd syslogd    58451    4* internet dgram udp *:514
_syslogd syslogd    58451    5* internet6 dgram udp *:514
_dhcp    dhclient   57064    3* internet dgram udp *:0
root     dhclient   42561    3* internet dgram udp *:0

是 dhclient 在 netstat 中创建该行吗?进程(不是守护进程)如何绑定到 *:0 ?

更多信息 :

$ ps aux | grep -i dhclient
root     42561  0.0  0.0   616   484 ??  Is    10:39PM    0:00.01 dhclient: em0 [priv] (dhclient)
_dhcp    57064  0.0  0.0   744   516 ??  Isp   10:39PM    0:00.00 dhclient: em0 (dhclient)

编辑2: 在 dhclient(8) 中,我读到:

dhclient 监视系统默认路由的更改,并在检测到可能的更改时重新检查是否应写入其 resolv.conf。

难道是这样吗?

答案1

它是未指定或通配符端口(或地址);从netstat(1)

未指定或“通配符”地址和端口显示为单个“*”

*.514每次监听来自任何地方的连接的 syslog也是如此/etc/services(请参阅listen(2)有关详细信息),并且*.*是侦听系统可能拥有的任何地址上的任何端口的东西。外部地址*.*用于这些,因为没有任何连接,这与端口 123 上的 NTP 相关连接不同。

根据fstat | grep udp@Kusalananda 的命令,听众的目的是dhclient;在某些系统上实际上可以监听端口 0(IRIX 我记得有一个 TCP/0 监听器),尽管在这种情况下代码dhclient进行了一个稍微不寻常的套接字调用,因此ioctl可以执行与接口相关的操作,请参阅源代码树下的get_ifname子例程该代码的一部分。dhclient.csrc/sbin

相关内容