Si j'exécute ss -lu
afin de visualiser toutes les sockets UDP d'écoute, alors aucune des sockets n'est affichée. Si j'exécute ss -au
, qui répertorie toutes les sockets UDP (à la fois en écoute et non-écoute), alors les sockets "en écoute" sont affichées comme 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:~ #
Quelle est la logique derrière cela? Par exemple, exécuter atftpd en écoutant les connexions, devrait avoir l'état LISTEN et non UNCONN, non?
-ul
varie entre RHEL5 et RHEL6. Cela n'a aucun sens pour RHEL5, mais RHEL6 fait ce que vous attendez. (l'état est toujours répertorié commeUNCONN
dans la sortie, mais il ne montre que les auditeurs)Réponses:
UDP est un protocole sans connexion. SS n'en affichera probablement pas à l'état LISTEN, uniquement dans UCONN ou ESTAB.
Si je fais ça,
Ensuite, ss affichera (dans un deuxième shell):
Si je me connecte ensuite (3e shell)
puis SS affiche:
la source