助け合いフォーラム

LPIC

LPIC Lv2-201(Ver4.5)
問題ID : 8689
問題を開く
以下は netstat -a コマンドで表示された結果の抜粋である。 ここから読み取ることができる情報として正しいものはどれか、すべて選びなさい。

この問題はプレミアムコンテンツです。

上に戻る

TCP と UDP のどちらにも待ち受けポートが存在する件について

公開日 2023/11/12

お世話になっております。
問題ID「8689」について、教えていただけますでしょうか。

疑問点

  • 問題分の4行目の「State」は空白であることから、
    正解の1つである「TCP と UDP のどちらにも待ち受けポートが存在する」とは言い切れない気がします。
  • もっと言うと、「UDP」に待ち受けポートがあるとは判断できないと思います。

教えていただきたい点

  • 「State」は空白の場合、どのように判断すればよいのかを教えていただけますでしょうか。
     こちらでインターネットなどで参考になりそうなものを探しましたが、
    「State」が空白になっている事例は見当たらなかったので。

よろしくお願いいたします。

2023/11/12 22:01

「State」は空白の場合、どのように判断すればよいのかを教えていただけますでしょうか。

State(状態)がない、と理解すれば良いです。
TCPだとコネクションには状態(待受中のLISTEN, 接続中のESTABLISHED, 切断中のFIN_WAITとか)が存在するのでそれを表示しているだけですが、UDPにはそもそも状態というものがなく、受け取ったパケットが適切であれば相応の応答を返すというだけの仕組みなので、表示すべき状態(State)が存在しないのです。

 こちらでインターネットなどで参考になりそうなものを探しましたが、
「State」が空白になっている事例は見当たらなかったので。

これは昔のnetstatの出力かなぁと思います。私の手元の環境ではこんな出力が得られました。

# netstat -an | egrep '(udp | State)' | sort | head -n 5
Proto Recv-Q Send-Q Local Address           Foreign Address         State
Proto RefCnt Flags       Type       State         I-Node   Path
udp        0      0 0.0.0.0:68              0.0.0.0:*
udp        0      0 10.0.0.1:4500           0.0.0.0:*
udp        0      0 10.0.0.1:500            0.0.0.0:*

同じ環境でssを使って確認すると表示が違うんですよね。

# ss -an | egrep '(udp | State)' | sort | head -n 5
Netid  State      Recv-Q Send-Q Local Address:Port               Peer Address:Port
udp    UNCONN     0      0         *:68                    *:*
udp    UNCONN     0      0         [::1]:323                [::]:*
udp    UNCONN     0      0         [::1]:500                [::]:*
udp    UNCONN     0      0      10.0.0.1:4500                  *:*

もっと言うと、「UDP」に待ち受けポートがあるとは判断できないと思います。

わかりやすい例では、DNSのための53/udpはどうでしょう?UDPだけ出したいので -u オプションつけてます。

# netstat -au | grep domain | grep localhost
udp        0      0 localhost:domain        0.0.0.0:*

# netstat -anu | grep 53 | grep 127
udp        0      0 127.0.0.1:53            0.0.0.0:*

# ss -au | grep domain | grep 127
UNCONN     0      0      127.0.0.1:domain                   *:*

# ss -aun | grep 53 | grep 127
UNCONN     0      0      127.0.0.1:53                       *:*


コメント

t toshi1041

2023/11/23 19:47

TO: arashi1977さん お世話になっております。返信が遅くなり、大変申し訳ございません。 お忙しい中、実行例など色々とご丁寧にありがとうございます。疑問が解消されました。 よろしくお願いいたします。

この返信に対して
コメントを記入できます

2023/11/12 22:01

udpは、コネクションの概念がなく、LISTENなどの状態(state)の概念もないので
待ち受け時はState列は空白になる様です。
インターネット上の情報として、以下がありました。

https://atmarkit.itmedia.co.jp/fnetwork/netcom/netstat/netstat.html
使用方法
■ネットワーク接続一覧の確認
(4) 接続の現在のステータス
(b)はNetBIOSデータグラムへの接続待ち受けであり、大変危険であると判断できる。

上記でもStateが空白のudpの行が、「待ち受け」と記載されています。
(上記ページの使用例はwindowsのものですが、linuxでも同じ表示です。)
宜しくお願いします。


コメント

t toshi1041

2023/11/23 19:44

TO: kz5835さん お世話になっております。返信が遅くなり、申し訳ございません。 上記の件で、疑問が解消されました。 ありがとうございます。 よろしくお願いいたします。

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?