Si ejecuto ss -lu
para ver todos los sockets UDP de escucha, entonces ninguno de los sockets se muestra. Si ejecuto ss -au
, que enumera todos los sockets UDP (tanto de escucha como de no escucha), los sockets de "escucha" se muestran como 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:~ #
¿Cuál es la lógica detrás de esto? Por ejemplo, ejecutando atftpd escuchando conexiones, debería tener el estado ESCUCHAR no DESCONECTAR, ¿no?
-ul
varía entre RHEL5 y RHEL6. No tiene sentido para RHEL5, pero RHEL6 hace lo que esperarías. (el estado todavía aparece comoUNCONN
en la salida, pero solo muestra a los oyentes)Respuestas:
UDP es un protocolo sin conexión. SS probablemente no mostrará uno en estado ESCUCHAR, solo en UCONN o ESTAB.
Si hago esto
Entonces ss mostrará (en un segundo shell):
Si luego me conecto a él (3er shell)
entonces SS muestra:
fuente