WindowsでUDP通信・ポート確認をする方法(PowerShell/ncat)

「WindowsでUDP通信を試したいのに、telnetもTest-NetConnectionも使えない」。結論から言うと、Windows標準のtelnetクライアントもTest-NetConnectionもTCP専用で、UDPには使えません。UDPを送受信するには、PowerShellのUdpClientか、ncat(Nmapに含まれるnetcat互換ツール)を使います。

※動作環境について:このページのコマンドは Windows 11(build 26200)+ Windows PowerShell 5.1 で動作を確認しています(2026-07-09)。Windows 10 や PowerShell 7 でも、使っているのは共通の .NET(UdpClient)と NetTCPIP モジュール(Get-NetUDPEndpoint など)なので同じように動くはずですが、表示のこまかな差は環境によって出ることがあります。

結論:WindowsでUDPを試す方法

続きを読む WindowsでUDP通信・ポート確認をする方法(PowerShell/ncat)

UDPポートが開いているか確認する方法と、なぜ難しいのか

結論から言うと、UDPのポートが開いているかどうかは100%確実には確認できません。TCPのポート確認とは前提がまったく違うからです。それでも実用上「開いていそう」「閉じていそう」を判断する手段はいくつかあります。この記事では、まず何が難しいのかを説明したあと、確認手段を確実性の高い順に紹介します。

  • 一番確実:相手が応答を返すプロトコルなら、実際に問い合わせて応答を見る
  • 次に現実的:nmap -sU でスキャンする(要root)
  • 自分のサーバなら:待ち受けているプロセスをサーバ側で直接確認する
  • 補助:tcpdump でパケットが実際に届いたか見る

nc -vzu だけで判定するのはおすすめしません。理由は次の章で実際に確認します。

なぜUDPのポート確認はTCPより難しいのか

続きを読む UDPポートが開いているか確認する方法と、なぜ難しいのか

netcat(nc)でUDP通信する使い方まとめ(-u オプションとBSD/GNU/RHEL系統別)

nc(netcat)でUDP通信するには -u オプションを付けるだけです。ただし nc には実装がいくつかあり、特に待ち受け(-l)のオプションの書き方が系統によって違います。ここを取り違えるとコマンドがエラーになったり、意図と違う動きをします。この記事では基本の使い方と、系統ごとの違いを実際に動かして確認した結果でまとめます。

基本:ncでUDPを送受信する

以降の基本操作は、macOS標準のnc(BSD系、OpenBSD nc由来)で実機確認したコマンドです。-u での基本的な送受信はどの系統でも同じですが、待ち受け(-l)まわりのオプションは系統ごとに変わります。詳しくは次の章にまとめました。

続きを読む netcat(nc)でUDP通信する使い方まとめ(-u オプションとBSD/GNU/RHEL系統別)