Если я выполню ss -lu
для просмотра всех сокетов прослушивания UDP, то ни один из сокетов не отображается. Если я выполню ss -au
, в котором перечислены все (как прослушивающие, так и не прослушивающие) сокеты UDP, то «прослушивающие» сокеты отображаются как UNCONN:
T60:~ # lsof -n | sed -n '1p;/UDP/p'
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
avahi-dae 963 avahi 11u IPv4 9088 0t0 UDP *:mdns
avahi-dae 963 avahi 12u IPv4 9089 0t0 UDP *:44639
cupsd 1238 root 10u IPv4 8160 0t0 UDP *:ipp
dhcpcd 2072 root 7u IPv4 532052 0t0 UDP *:bootpc
dhclient6 13131 root 5u IPv6 38031 0t0 UDP *:dhcpv6-client
dhclient6 13131 root 20u IPv4 37954 0t0 UDP *:20152
dhclient6 13131 root 21u IPv6 37955 0t0 UDP *:36745
atftpd 20639 tftp 0u IPv4 344977 0t0 UDP *:tftp
T60:~ # netstat -lu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:bootpc *:*
udp 0 0 *:tftp *:*
udp 0 0 *:44639 *:*
udp 0 0 *:ipp *:*
udp 0 0 *:20152 *:*
udp 0 0 *:mdns *:*
udp 0 0 *:36745 *:*
udp 0 0 *:dhcpv6-client *:*
T60:~ # ss -lu
Recv-Q Send-Q Local Address:Port Peer Address:Port
T60:~ # ss -ua
State Recv-Q Send-Q Local Address:Port Peer Address:Port
UNCONN 0 0 *:bootpc *:*
UNCONN 0 0 *:tftp *:*
UNCONN 0 0 *:44639 *:*
UNCONN 0 0 *:ipp *:*
UNCONN 0 0 *:20152 *:*
UNCONN 0 0 *:mdns *:*
UNCONN 0 0 :::36745 :::*
UNCONN 0 0 :::dhcpv6-client :::*
T60:~ # ss -v
ss utility, iproute2-ss110629
T60:~ #
Какая логика стоит за этим? Например, если atftpd прослушивает соединения, должно быть состояние LISTEN, а не UNCONN, не так ли?
Может просто формулировка? Разъем для прослушивания явно не подключен ... ;-)
—
Hauke Laging
@HaukeLaging Не говоря уже о том, что оба звучат плохо, учитывая UDP :)
—
TNW
Я заметил, что поведение
—
Andrew B
-ul
варьируется между RHEL5 и RHEL6. Для RHEL5 это бессмысленно, но RHEL6 делает то, что вы ожидаете. (состояние все еще указано как UNCONN
в выходных данных, но оно показывает только слушателей)