なぜss(8)は、listen UDPポートをnetstat(8)とは異なる方法で理解するのですか?


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ではないはずですよね。


たぶん言葉遣い?リスニングソケットは明らかに接続されていません... ;-)
Hauke Laging 2013

1
@HaukeLaging言うまでもなく、UDPを考えるとどちらも音が悪い:)
TNW

の動作が-ulRHEL5とRHEL6 で異なることに気付きました。RHEL5には意味がありませんが、RHEL6は期待どおりに動作します。(状態は引き続きUNCONN出力のように表示されますが、リスナーのみが表示されます)
Andrew B

回答:


4

UDPはコネクションレス型プロトコルです。SSはおそらくLISTEN状態では1つを表示せず、UCONNまたはESTABでのみ表示します。

私がこれをするなら、

$ nc -u -l 2333

次に、ssが表示されます(2番目のシェルで):

$ 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    
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.