Windowsで特定のポートを指定して疎通確認を行うとは、特定のネットワークポートが空いており、通信が正常に届く状態にあるかを検証することです。Windows標準のPowerShellコマンドである「Test-NetConnection」を使用することで、特別なソフトを導入せずにポートを指定した疎通確認が簡単に行えます。本記事では、ネットワークトラブルの解決やサーバー構築時に欠かせない、Windowsでのポート指定疎通確認コマンドの具体的な使い方と、通信が失敗した際の対処法を詳しく解説します。

ポートを指定した疎通確認とは?仕組みと必要性
ネットワークを介してサーバーやPC同士が通信を行う際、IPアドレスだけでは通信をどのアプリケーションに届ければよいか判断できません。そこで用いられるのが「ポート番号」です。ポートを指定した疎通確認の仕組みや、なぜそれが必要なのかを詳しく見ていきましょう。
ポート指定の疎通確認の仕組み
ネットワーク通信におけるIPアドレスは「建物の住所」に例えられます。これに対してポート番号は、その建物の中にある「部屋番号」のようなものです。例えば、Webサイトを閲覧するためのHTTP通信は「80番ポート」、暗号化されたHTTPS通信は「443番ポート」、リモートデスクトップ接続は「3389番ポート」といったように、サービスごとに使用するポート番号があらかじめ決められています。
ポートを指定した疎通確認では、クライアント(あなたのPC)から宛先となるサーバーの特定のポート(部屋番号)に対して接続要求(TCP 3ウェイ・ハンドシェイクなど)を送り、サーバーから正しい応答が返ってくるかを検証します。これにより、対象のサービスが正常に稼働しており、かつネットワーク上で通信が遮断されていないかを判断できます。
pingコマンドとの違いと限界
Windowsのネットワーク確認コマンドとして最も有名なのは「ping(ピング)」です。しかし、pingコマンドはICMP(Internet Control Message Protocol)というプロトコルを使用しており、ポート番号の概念がありません。そのため、pingを使って「ポートを指定した疎通確認」を行うことは不可能です。
例えば、pingの応答が正常に返ってきたとしても、Webサーバー(443番ポート)やデータベースサーバー(3306番ポートなど)のサービス自体が停止していたり、ファイアウォールで特定のポートだけがブロックされていたりする場合、実際の業務システムやWebサイトには接続できません。より正確なサービス稼働状況やネットワーク経路の健全性を確認するためには、ポートを指定した疎通確認コマンドが不可欠となります。
なお、pingコマンドの基本的な使い方や応答がない場合の対処法については、こちらの記事「コマンドプロンプトのpingで応答なし?原因特定と対処法5ステップ」で詳しく解説しています。
ポート指定で疎通確認を行うメリットと注意点
ポートを指定して疎通確認を行う最大のメリットは、障害が発生している「レイヤー(階層)」を正確に特定できる点にあります。ネットワーク自体は繋がっているのか、それとも特定のアプリケーションやファイアウォールの設定に問題があるのかを切り分けることができます。
一方で、実行する際にはいくつかの注意点があります。特に、他者が管理するサーバーやWebサイトに対して、網羅的にポート疎通確認を繰り返す行為は「ポートスキャン」と呼ばれ、サイバー攻撃の予備動作とみなされる恐れがあります。疎通確認を行う際は、必ず自身が管理する検証環境や、事前に許可を得た宛先に対してのみ実施するようにしてください。
疎通可否を判断する目安
ポートの疎通確認を行った際、通信の状態は主に以下の3つに分類されます。これらを目安に、現在のネットワーク状況を判断します。
| ステータス | 状態の意味 | 想定される原因 |
|---|---|---|
| 接続成功 (Open / True) | 指定したポートへの接続が正常に確立された状態。 | サービスが起動しており、ファイアウォール等の遮断もない。 |
| 接続拒否 (Refused) | 宛先サーバーまでは届いたが、接続を拒否された状態。 | サーバーのIPは正しいが、対象のサービス(ポート)が起動していない。 |
| タイムアウト (Timeout / Filtered) | 応答が一切なく、時間切れになった状態。 | 経路上のファイアウォールやルーター、セキュリティグループで通信が遮断されている。 |
Windowsでポートを指定して疎通確認を行う主要コマンド
2026年現在、Windows環境でポートを指定して疎通確認を行うためのコマンドはいくつか存在します。それぞれの特徴と基本的な構文を解説します。
1. PowerShell「Test-NetConnection」(最も推奨)
Windows 8.1 / Windows Server 2012 R2以降のWindows環境において、最も推奨される標準コマンドがPowerShellの「Test-NetConnection」です。特別なツールのインストールが不要で、詳細な接続結果を分かりやすく表示してくれます。
基本的な構文は以下の通りです。
Test-NetConnection <宛先IPアドレスまたはホスト名> -Port <ポート番号>
また、このコマンドには「tnc」という短いエイリアス(別名)が用意されているため、実務では以下のように省略して実行されることが一般的です。
tnc <宛先IPアドレスまたはホスト名> -Port <ポート番号>
2. PowerShell / コマンドプロンプト「curl」(Windows 10/11以降標準)
Windows 10(Build 17063以降)およびWindows 11には、Linux等で広く使われている「curl」コマンドが標準搭載されています。PowerShellだけでなく、従来のコマンドプロンプトからでも手軽にポートの疎通確認が行えます。
ポートを指定して接続テストを行う場合の構文は以下の通りです。プロトコル部分に「telnet://」を指定するのがポイントです。
curl -v telnet://<宛先IPアドレスまたはホスト名>:<ポート番号>
「-v」オプション(verbose)を付けることで、接続の確立プロセスが詳細に出力されるため、トラブルシューティングに役立ちます。
3. コマンドプロンプト「telnet」(要機能有効化)
古くからネットワーク管理者に愛用されてきたのが「telnet(テルネット)」コマンドです。しかし、現在のWindowsではセキュリティ上の理由から、デフォルトで無効化されています。使用するには、事前に「Windowsの機能の有効化または無効化」から「Telnet クライアント」を有効にする必要があります。
構文は以下の通りです。IPアドレスとポート番号の間はコロンではなく「スペース」で区切る点に注意してください。
telnet <宛先IPアドレスまたはホスト名> <ポート番号>
接続に成功するとコマンドプロンプトの画面全体が黒く(または真っ白に)なり、キーボード入力を受け付ける状態になります。失敗した場合は「接続できませんでした」とエラーが表示されます。
4. Microsoft提供ツール「PortQry」(UDP確認も可能)
上記のコマンド(Test-NetConnectionやtelnetなど)は、主にTCPプロトコルのポート確認に使用されます。DNS(53番)やNTP(123番)といった「UDPプロトコル」のポート疎通確認を行いたい場合は、Microsoftが提供しているコマンドラインツール「PortQry」の利用がおすすめです。
Microsoftの公式サイトからダウンロードし、解凍したフォルダにコマンドプロンプト等で移動して以下のように実行します。
portqry -n <宛先IPアドレスまたはホスト名> -p udp -e <ポート番号>
UDPはTCPと異なりコネクションを確立しないプロトコルのため、疎通確認が難しいのですが、PortQryを使用すれば「LISTENING」や「FILTERED」といった状態を高い精度で判定してくれます。

【手順解説】Test-NetConnectionコマンドを使ったポート疎通確認
ここでは、最も実用的で推奨される「Test-NetConnection」コマンドを使用して、実際にポートの疎通確認を行う手順をステップバイステップで解説します。
ステップ1:PowerShellを起動する
Windowsのスタートボタンを右クリック(または「Windowsキー + X」を同時に押下)し、メニューから「ターミナル」または「PowerShell」を選択して起動します。一般的な疎通確認であれば、管理者権限で起動する必要はありません。
ステップ2:コマンドを入力・実行する
起動したPowerShellの画面に、疎通確認を行いたい宛先とポート番号を指定してコマンドを入力します。ここでは例として、一般的なWebサーバーのHTTPSポート(443番)への疎通を確認してみましょう。
Test-NetConnection www.google.com -Port 443
入力したら「Enter」キーを押します。ネットワークの状況によっては、結果が表示されるまでに数秒から十数秒かかる場合があります。
ステップ3:結果を確認する
コマンドの実行が完了すると、以下のような詳細なレポートが表示されます。
ComputerName : www.google.com
RemoteAddress : 172.217.161.100
RemotePort : 443
InterfaceAlias : Wi-Fi
SourceAddress : 192.168.1.15
TcpTestSucceeded : True
ここで最も重要な項目は、一番下にある「TcpTestSucceeded」です。この値が「True」になっていれば、指定したポートでの疎通確認は成功しています。つまり、宛先サーバーとの間で正常にTCPコネクションが確立できています。
もし、ポートが閉じている、あるいは途中で遮断されている場合は、以下のように警告が表示され、「TcpTestSucceeded」が「False」になります。
警告: TCP connect to (172.217.161.100 : 443) failed
ComputerName : www.google.com
RemoteAddress : 172.217.161.100
RemotePort : 443
InterfaceAlias : Wi-Fi
SourceAddress : 192.168.1.15
PingSucceeded : True
TcpTestSucceeded : False
この例では「PingSucceeded : True(pingは通る)」にもかかわらず、「TcpTestSucceeded : False(443番ポートの接続は失敗)」となっています。まさに、pingだけでは見抜けないポート固有の通信障害が発生している状態です。

ポート疎通確認で「失敗(False)」になったときの原因と対処法
Test-NetConnectionなどのコマンドを実行し、結果が「False」や「接続失敗」となった場合、どこに問題があるのでしょうか。代表的な3つの原因とそれぞれの対処法を整理しました。
原因1:宛先サーバーのポートが開放されていない(Listenしていない)
宛先となるサーバー自体は起動していても、接続しようとしているポートでサービスが待ち受け(Listen)状態になっていないケースです。例えば、Webサーバーソフト(ApacheやIISなど)が停止していると、80番や443番ポートへの疎通確認はすべて失敗します。
- 対処法: 宛先サーバーにログインし、対象のサービスやアプリケーションが正常に起動しているか確認します。Windows Serverであれば、コマンドプロンプトで
netstat -an | findstr "LISTENING"を実行し、該当のポート番号が待ち受け状態になっているかを確認してください。
原因2:Windowsファイアウォールなどのセキュリティソフトで遮断されている
宛先サーバー、または送信元であるクライアントPCの「Windows Defender ファイアウォール」やサードパーティ製のセキュリティ対策ソフトが、特定のポート番号の通信をブロックしているケースです。
- 対処法: 宛先サーバーのファイアウォール設定を開き、「受信の規則」で対象のポート番号(例:RDPなら3389、カスタムアプリなら独自のポート)の通信を許可するルールが有効になっているか確認します。一時的にファイアウォールを無効化して疎通確認を行い、原因がファイアウォールにあるかを切り分けるのも有効な手段です。
原因3:ネットワーク経路上のルーターやセキュリティグループでブロックされている
社内LANのルーター、VPN機器、あるいはAWS(Amazon Web Services)やMicrosoft Azureといったクラウド環境の仮想ネットワーク設定において、ポートの通信が遮断されているケースです。特にクラウド環境では、インスタンスに紐づくセキュリティグループやネットワークACLの制限によって通信が届かないトラブルが頻発します。
- 対処法: クラウド環境であれば、セキュリティグループのインバウンド(受信)ルールおよびアウトバウンド(送信)ルールを見直し、対象のポートとIPアドレスからの通信が許可されているか確認します。
AWS環境におけるセキュリティグループの設定不備やトラブルシューティングについては、こちらの記事「AWSセキュリティグループで疎通確認できない原因と解決策5選」でより専門的な解決策を解説していますので、併せて参考にしてください。
---ネットワーク管理と業務効率化を加速させる「AI」の活用
ここまでWindowsでのポート疎通確認コマンドについて解説してきましたが、こうしたインフラの保守管理や、社内・顧客からの「システムに繋がらない」といった問い合わせへの対応には、多くの工数と専門知識が求められます。2026年現在、IT運用の現場では、こうしたネットワークトラブルの一次対応や社内ヘルプデスク業務をAIで自動化し、業務効率を劇的に向上させる動きが主流となっています。
東京都豊島区に拠点を置く株式会社LaruVisonaが提供する「国産オールインワンAI」は、企業のITサポートや顧客対応、業務管理を強力に支援する統合ソリューションです。AIチャットボット、CRM、チャット内決済、SEO集客などの機能をワンパッケージで提供し、最短10分でサイトへ設置できます。
例えば、以下のような自社主要サービスを組み合わせることで、社内外の問い合わせ対応や顧客管理をシームレスに自動化できます。
- AIチャットボット(LARUbot): Q&AやPDF、WebサイトのURLを学習(RAG)させることで、「社内システムに繋がらない」「ポートの確認方法は?」といった技術的な問い合わせに対しても、AIが24時間365日、正確に自動応答します。入力された情報がAIモデルの学習に利用されないため、社内の機密情報も安心して学習させられます。
- 顧客・案件管理(CRM/SFA): 問い合わせの履歴や顧客情報を一元管理し、トラブル対応の進捗状況や次にやるべきタスクを可視化します。
- AI電話受付 LARU CALL: 会社の電話にAIが自動で対応し、用件や名前、折り返し先をヒアリングして受付票を作成。担当者へ即座に通知します。営業・勧誘電話の自動お断り機能も備えており、不要な電話対応による業務中断を防ぎます。
- SEO自動化 LARU SEO: 自社サイトの集客力を高めるため、AIが最適なSEO記事を自動で生成・投稿します。
株式会社LaruVisonaのサービスは、初期費用0円、最低利用期間なしで、いつでも解約が可能です。すべての機能を体験できる「初月無料(約30日間)の無料トライアル」も提供しています。詳しいプラン内容や費用については、こちらの「料金プラン」ページをご覧ください。
---よくある質問(FAQ)
Windowsでのポート疎通確認に関して、よくある質問とその回答をまとめました。
Q1. Test-NetConnectionでUDPポートの疎通確認はできますか?
A1. 基本的に「Test-NetConnection」はTCPプロトコルの疎通確認に特化しています。UDPポートに対して実行した場合、正確な結果が得られないことがほとんどです。UDPポートの疎通確認を行いたい場合は、本記事で紹介したMicrosoft公式の「PortQry」ツールを使用するか、サードパーティ製のネットワークスキャンツールを利用することをおすすめします。
Q2. PowerShellでポート疎通確認をする際、管理者権限は必要ですか?
A2. いいえ、一般的な「Test-NetConnection」や「curl」コマンドを実行するだけであれば、管理者権限(管理者として実行)は必要ありません。標準のユーザー権限のままPowerShellを起動して実行可能です。ただし、疎通確認の結果を受けて、自身のPCのファイアウォール設定を変更するなどの対処を行う場合には、管理者権限が必要になります。
Q3. コマンドプロンプトで「telnet」コマンドが使えないのはなぜですか?
A3. 近年のWindows OSでは、セキュリティ向上のため「Telnet クライアント」機能が初期状態で無効化されているためです。使用したい場合は、コントロールパネルの「プログラムと機能」から「Windowsの機能の有効化または無効化」を開き、リスト内にある「Telnet クライアント」にチェックを入れて「OK」をクリックすることで、コマンドプロンプトから利用できるようになります。
---まとめと次のステップ
Windows環境で特定のポートを指定して疎通確認を行うには、PowerShellの標準コマンドである「Test-NetConnection(tnc)」を使用するのが最も簡単かつ確実な方法です。pingコマンドでは特定できない「ポートごとの通信状態」を素早く把握できるため、ネットワークトラブルの解決スピードが格段に向上します。
もし疎通確認で「False」が表示された場合は、宛先サーバーのサービス起動状況、Windowsファイアウォール、そしてルーターやクラウド上のセキュリティグループの設定を順番にチェックしていきましょう。ネットワークのトラブルシューティングスキルを身につけることで、システムの安定運用やスムーズな開発業務が可能になります。ぜひ本記事で紹介したコマンドを実務で活用してみてください。