почему ss (8) понимает прослушивание портов UDP по-другому, чем netstat (8)?

Если я 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, не так ли?

  • передача tftp болезненно медленная
  • Когда ядро ​​сокращает дейтаграмму UDP в куски MTU?
  • Какие порты необходимы и, как правило, должны быть разрешены в системе Linux?
  • Может ли произвольный процесс считывать данные, поступающие в / из сетевого порта? Как?
  • Управление потоковой строкой командной строки из netcat
  • Почему мое приложение не получает широковещательные пакеты?
  • Как заблокировать широковещательные сообщения (mDNS-трафик Apple)
  • iptables DNAT + SNAT: нежелательное умножение одной и той же дейтаграммы udp (и сбоя)
  • One Solution collect form web for “почему ss (8) понимает прослушивание портов UDP по-другому, чем netstat (8)?”

    UDP – протокол без установления соединения. SS, вероятно, не покажет его в состоянии LISTEN, только в UCONN или ESTAB.

    Если я это сделаю,

     $ nc -u -l 2333 

    Затем ss покажет (во второй оболочке):

     $ ss -au|grep 2333 UNCONN 0 0 *:2333 *:* 

    Если я подключу к нему (3-я оболочка)

     $ nc -u localhost 2333 

    то SS показывает:

     $ ss -au|grep 2333 ESTAB 0 0 127.0.0.1:2333 127.0.0.1:58434 ESTAB 0 0 127.0.0.1:58434 127.0.0.1:2333 
    Interesting Posts
    Linux и Unix - лучшая ОС в мире.