1.07.3標準
OpenBSD系ncを使い、192.0.2.53のUDP 53番をzero-I/Oモードで診断する。
結果を詳細表示し、待ち続けないよう2秒のtimeoutを設ける。
適切なコマンドはどれか。
× 不正解
OpenBSD系ncでは-uでUDP、-zでzero-I/O診断、-vで詳細表示、-wでtimeoutを指定できる。ただしUDPは応答がないだけで閉鎖を断定できない。
詳細解説
誤り
nc -zv -w 2 192.0.2.53 53-uがないため既定のTCPを診断する。
-z、-v、-wはあるが-uがないためTCP 53を調べる。UDP 53という条件に一致しない。
正しい
nc -zvu -w 2 192.0.2.53 53-uでUDP、-zでzero-I/O、-vで詳細、-wでtimeoutを指定する。
-u、-z、-v、-w 2を組み合わせ、UDP 53へzero-I/O診断を行いtimeoutも設けている。
誤り
nc -lvu -w 2 192.0.2.53 53-lはリモートへ調査接続せず、ローカル待受側として動作する。
-lはローカル側でUDPパケットを待ち受ける動作になる。192.0.2.53のサービスをクライアントとして診断しない。
誤り
nc -zv -w 53 192.0.2.53 2timeoutと宛先ポートの値を逆に指定している。
-w 53はtimeoutを53秒にし、末尾2を宛先ポートとして扱う。求める2秒timeoutと53番ポートが逆である。
実際に確かめる
一時的な検証環境で実行できる例です。
nc -h 2>&1 | sed -n '1,14p'期待される結果
-u、-z、-v、-wなどのオプション概要理解のポイント
- -uはUDP
- -zはzero-I/O
- UDP結果は慎重に判断
確認時の注意
- 確認環境: OpenBSD netcat help / 外部接続なし
- 外部接続は行わず、利用実装のhelpだけを確認する。
基礎のおさらい
UDP診断の不確実性
UDPは接続確立がないため、応答がなければopen、filtered、損失などを単独では区別しにくい。
アプリケーション確認
確実な診断にはDNSなら実際のDNS問い合わせなど、上位プロトコルに沿った応答確認も必要になる。
問題IDKL-102-994
確認環境OpenBSD netcat help / 外部接続なし
最終技術確認2026-08-13
誤り・権利侵害を報告