【Windows】ping, tracert(コマンドプロンプトから実行)、Test-NetConnection(PowerShellから実行)で通信を確認する

Windows Server

Windowsでは以下の方法で通信疎通確認が可能です。

  • ping, tracert(コマンドプロンプトから実行)
  • Test-NetConnection(PowerShellから実行)

pingコマンドの詳細:https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/ping

Test-Connectionコマンドの詳細:https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.management/test-connection?view=powershell-7.4

自ホストに宛先のルーティングが設定されていない場合、上記の通信疎通コマンドが正しく実行できないことがあります。ネットワークのルーティングは以下のコマンドで確認可能です。

  • route print
  • netstat

routeコマンドの詳細:https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/route_ws2008

netstatコマンドの詳細:https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/netstat

ping(コマンドプロンプトから実行)

Windowsキーを押し、「cmd」と検索するとコマンドプロンプトを見つけることができます。コマンドプロンプトで以下のコマンドを入力することで対象のIPアドレスまでの通信の疎通確認が可能です。

もしくは以下のようにWindowsキーとRキーを同時に押下し、その後cmdと入力してOKボタンを押下してもコマンドプロンプトを起動できます。

Windowsのpingコマンドについては以下Microsoft公式サイトが参考になります。

ping
ネットワークの接続を検証する ping コマンドに関するリファレンス記事。
ping <IPアドレス>

以下は実際のコマンド入力例です。

※CtrlキーとCキーを同時に押すことでコマンドを途中で終了させることができます。

ping 8.8.8.8

以下のコマンドを入力すると、こちらでCtrlキーとCキーを同時に押して中断させるまで処理を継続することができます。

ping /t 8.8.8.8

※CtrlキーとCキーを同時に押すことでコマンドを途中で終了させることができます。

以下はWindows Server 2025でコマンドプロンプトを起動して実行した実行例です。

Microsoft Windows [Version 10.0.26100.1742]
(c) Microsoft Corporation. All rights reserved.

C:\Users\Administrator>ping 8.8.8.8

8.8.8.8 に ping を送信しています 32 バイトのデータ:
8.8.8.8 からの応答: バイト数 =32 時間 =45ms TTL=128
8.8.8.8 からの応答: バイト数 =32 時間 =34ms TTL=128
8.8.8.8 からの応答: バイト数 =32 時間 =37ms TTL=128
8.8.8.8 からの応答: バイト数 =32 時間 =48ms TTL=128

8.8.8.8 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 34ms、最大 = 48ms、平均 = 41ms

C:\Users\Administrator>

なお、以下コマンドもこちらでCtrlキーとCキーを同時に押して中断させるまで処理を継続することができます。

ping -t 8.8.8.8

本コマンドが通らなかった場合は、そのIPアドレスまでの通信が確立できていないということになります。ポート番号を指定して疎通確認が可能な「nping」コマンドは、Linuxでは使えますがWindowsでは使えません。npingと類似のコマンド実行結果はPowerShellから「Test-Netconnection <IPアドレス> -port <ポート番号>」を入力することでnpingに類似の結果を得られます。

tracertはLinuxのtracerouteコマンドに該当するコマンドです。通信経路を確認できます。

pingコマンド(Windows)には以下のオプションを指定することができます。

パラメーター説明
/t中断するまで ping による送信先へのエコー要求メッセージの送信を続けることを指定します。 中断して統計情報を表示するには、Ctrl + Enter キーを押します。 このコマンドを中断して終了するには、Ctrl + C キーを押します。
/a送信先の IP アドレスに対して逆引き名前解決を実行することを指定します。 この操作が成功した場合、ping は対応するホスト名を表示します。
/n <count>送信するエコー要求メッセージの数を指定します。 既定値は 4 です。
/l <size>エコー要求メッセージのデータ フィールドの長さ (バイト単位) を指定します。 既定値は 32 です。 最大サイズは 65,500 です。
/fIP ヘッダーのフラグメント禁止フラグを 1 に設定してエコー要求メッセージを送信することを指定します (IPv4 のみで利用可能)。 エコー要求メッセージは、送信先までのパス内のルーターによってフラグメント化できません。 このパラメーターは、パスの最大転送ユニット (PMTU) に関する問題のトラブルシューティングに役立ちます。
/i <TTL>送信されるエコー要求メッセージの IP ヘッダーの Time To Live (TTL) フィールドの値を指定します。 既定では、ホストの既定の TTL 値です。 最大 TTL 255 文字です。
/v <TOS>送信されるエコー要求メッセージの IP ヘッダーの Type of Service (TOS) フィールドの値を指定します (IPv4 のみで利用可能)。 既定値は 0 です。 TOS は 0 ~ 255 の 10 進値として指定します。
/r <count>エコー要求メッセージと対応するエコー応答メッセージで使用されたパスを記録するために IP ヘッダーのルート記録オプションを使用することを指定します (IPv4 のみで利用可能)。 パスの各ホップで、ルート記録オプションのエントリが使用されます。 可能な場合、count では、送信元と送信先の間のホップ数以上の値を指定します。 count は、1 以上 9 以下にする必要があります。
/s <count>エコー要求メッセージと対応するエコー応答メッセージの各ホップへの到着時刻を記録するために、IP ヘッダーのインターネット タイムスタンプ オプションを使用することを指定します。 count は、1 以上 4 以下にする必要があります。 このパラメーターは、リンク ローカルの宛先アドレスに必要です。
/j <hostlist>hostlist で指定されている中間宛先のセットについて、エコー要求メッセージで IP ヘッダーの厳密でないソースのルーティング オプションを使用することを指定します (IPv4 でのみ利用可能)。 厳密でないソースのルーティングと連続した中間宛先は、1 つまたは複数のルーターで区切ることができます。 アドレスまたはホストの一覧に名の最大数が 9 です。 ホストの一覧は、スペースで区切られた一連の IP アドレス (ドット形式 10 進表記) です。
/k <hostlist>hostlist で指定されている中間宛先のセットについて、エコー要求メッセージで IP ヘッダーの厳密なソースのルーティング オプションを使用することを指定します (IPv4 でのみ利用可能)。 厳密なソースのルーティングとは、次の中継送信先を直接到達可能にする必要があります (ルーターのインターフェイスで近隣ノードがある必要があります)。 アドレスまたはホストの一覧に名の最大数が 9 です。 ホストの一覧は、スペースで区切られた一連の IP アドレス (ドット形式 10 進表記) です。
/w <timeout>特定のエコー要求メッセージに対応するエコー応答メッセージを待機する時間をミリ秒単位で指定します。 タイムアウト中にエコー応答メッセージが受信されない場合は、「要求がタイムアウトしました」というエラー メッセージが表示されます。 既定のタイムアウトは 4000 (4 秒) です。
/Rラウンドトリップのパスをトレースすることを指定します (IPv6 のみで利用可能)。
/S <Srcaddr>(IPv6 のみで使用可能) を使用する送信元アドレスを指定します。
/4ping に IPv4 を使用することを指定します。 このパラメーターは、IPv4 アドレスを持つターゲット ホストを識別する必要はありません。 ターゲット ホストを名前で識別するためにのみ必要です。
/6ping に IPv6 を使用することを指定します。 このパラメーターは、IPv6 アドレスを持つターゲット ホストを識別するために必要ありません。 ターゲット ホストを名前で識別するためにのみ必要です。
<targetname>ホスト名または変換先の IP アドレスを指定します。
/?コマンド プロンプトにヘルプを表示します。
https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/pingより引用

ping /? コマンドでpingコマンドのヘルプを参照する

コマンドプロンプトを起動して以下のコマンドを実行するとpingコマンドのヘルプを参照できます。

ping /?

以下の画像はWindows Server 2025でping /?を実行した実行結果です。

pingコマンドはホスト名を引数にしても実行可能

hostsファイルに書かれているホスト名をpingコマンドの引数にしても、pingコマンドを実行することが可能です。

C:\Windows\System32\drivers\etc\hosts
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost

localhostに対してコマンドプロンプトから以下のコマンドを実行してみます。

ping localhost

名前解決してpingコマンドが実行されます。

tracert(コマンドプロンプトから実行)

tracertコマンドはインターネットプロトコル( IP )パケットが宛先に送信するパスをトレースすることができるコマンドです。

参考資料:https://support.microsoft.com/ja-jp/topic/tracert-%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6-windows-%E3%81%A7-tcp-ip-%E3%81%AE%E5%95%8F%E9%A1%8C%E3%82%92%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95-e643d72b-2f4f-cdd6-09a0-fd2989c7ca8e

コマンドプロンプトから下記のように使用します。

tracert 11.1.0.1

以下はコマンド結果の例です。

C:\>tracert 11.1.0.1
コマンドの出力:

Tracing route to 11.1.0.1 over a maximum of 30 hops
---------------------------------------------------
1 2 ms 3 ms 2 ms 157.54.48.1
2 75 ms 83 ms 88 ms 11.1.0.67
3 73 ms 79 ms 93 ms 11.1.0.1

Trace complete.

※上記コマンド出力結果は、以下Microsoft公式サイトからの引用です。

TRACERT を使用して Windows で TCP/IP の問題をトラブルシューティングする方法 - Microsoft サポート

tracertはLinuxやCisco機器ではtracerouteに当たるコマンド

LinuxやCiscoの機器で通信経路を確認する場合はtracerouteコマンドを使用します。

traceroute コマンド
traceroute コマンドは、パケットが宛先に向かうときに実際に通過するルート検出するのに使用されます。デバイス(たとえば、ルータまたは PC)は、User Datagram Protocol(UDP; ユーザ データグラム プロトコル)データグラムのシーケンスを、リモート ホストの無効ポート アドレスに送信します。

ping および traceroute コマンドについて
このドキュメントでは、シスコのルータでの ping および traceroute コマンドの使い方を説明します。

Test-NetConnection(PowerShellから実行)

ポート番号も含めてpingと同じ通信の疎通確認を行うにはPowerShellから以下のコマンドを実行します。

Test-NetConnection <IPアドレス> -port <ポート番号>

以下は実際の入力例です。以下の例ではポート番号53(DNS)の通信をテストしています。

Test-NetConnection 8.8.8.8 -port 53

参考資料:https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.management/test-connection?view=powershell-7.4

Tera Termで接続できないときは-port 22について確認する

Tera Termで対象のサーバーに接続できない場合は、SSHのポート番号、22を-portオプションで指定してPowershellでTest-NetConnectionコマンドを実行します。

Test-NetConnection <対象サーバーのIPアドレスもしくはホスト名> -port 22

ホスト名を引数にしてもうまくいかない場合は前述のhostsファイルにIPアドレスをホスト名を対応する形で記載します。

以下はコマンドの実行例です。

Linuxではnpingコマンドでポート番号を指定して疎通確認が可能です。

route print, netstatコマンド

見出しのコマンドを実行すると、OSからのスタティックルートを確認することができます。これはOSからどこまでのIPアドレス、ネットワークアドレスへ通信することができるようになっているかの設定を確認できます。

ネットワークアドレスは172.16.100.0のようなIPアドレスのことを指し、複数のIPアドレスをまとめて指定する場合はネットワークアドレスに対してルーティングを設定します。

routeコマンドの詳細:https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/route_ws2008

netstatコマンドの詳細:https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/netstat

route printコマンドの実行例

以下はroute printコマンドをPowershellで実行した例です。※一部のIPアドレスのホスト部をxxで隠しています。

PS C:\Users\Administrator> route print
===========================================================================
インターフェイス一覧
 15...00 0c 29 9d 9d 3d ......Intel(R) 82574L Gigabit Network Connection
  1...........................Software Loopback Interface 1
===========================================================================

IPv4 ルート テーブル
===========================================================================
アクティブ ルート:
ネットワーク宛先        ネットマスク          ゲートウェイ       インターフェイス  メトリック
          0.0.0.0          0.0.0.0    192.168.242.xx  192.168.242.136     25
        127.0.0.0        255.0.0.0            リンク上         127.0.0.1    331
        127.0.0.1  255.255.255.255            リンク上         127.0.0.1    331
  127.255.255.255  255.255.255.255            リンク上         127.0.0.1    331
    192.168.242.0    255.255.255.0            リンク上   192.168.242.136    281
  192.168.242.135  255.255.255.255    192.168.242.xx  192.168.242.136     26
  192.168.242.136  255.255.255.255            リンク上   192.168.242.136    281
  192.168.242.255  255.255.255.255            リンク上   192.168.242.136    281
        224.0.0.0        240.0.0.0            リンク上         127.0.0.1    331
        224.0.0.0        240.0.0.0            リンク上   192.168.242.136    281
  255.255.255.255  255.255.255.255            リンク上         127.0.0.1    331
  255.255.255.255  255.255.255.255            リンク上   192.168.242.136    281
===========================================================================
固定ルート:
  ネットワーク アドレス          ネットマスク  ゲートウェイ アドレス  メトリック
  192.168.242.135  255.255.255.255    192.168.242.xx       1
===========================================================================

IPv6 ルート テーブル
===========================================================================
アクティブ ルート:
 If メトリック ネットワーク宛先      ゲートウェイ
  1    331 ::1/128                  リンク上
  1    331 ff00::/8                 リンク上
===========================================================================
固定ルート:
  なし
PS C:\Users\Administrator>

netstat -rn(netstat -nr)コマンドの実行例

以下はnetstat -nrコマンドをPowershellで実行した例です。※一部のIPアドレスのホスト部をxxで隠しています。

PS C:\Users\Administrator> netstat -nr
===========================================================================
インターフェイス一覧
 15...00 0c 29 9d 9d 3d ......Intel(R) 82574L Gigabit Network Connection
  1...........................Software Loopback Interface 1
===========================================================================

IPv4 ルート テーブル
===========================================================================
アクティブ ルート:
ネットワーク宛先        ネットマスク          ゲートウェイ       インターフェイス  メトリック
          0.0.0.0          0.0.0.0    192.168.242.xx  192.168.242.136     25
        127.0.0.0        255.0.0.0            リンク上         127.0.0.1    331
        127.0.0.1  255.255.255.255            リンク上         127.0.0.1    331
  127.255.255.255  255.255.255.255            リンク上         127.0.0.1    331
    192.168.242.0    255.255.255.0            リンク上   192.168.242.136    281
  192.168.242.135  255.255.255.255    192.168.242.xx  192.168.242.136     26
  192.168.242.136  255.255.255.255            リンク上   192.168.242.136    281
  192.168.242.255  255.255.255.255            リンク上   192.168.242.136    281
        224.0.0.0        240.0.0.0            リンク上         127.0.0.1    331
        224.0.0.0        240.0.0.0            リンク上   192.168.242.136    281
  255.255.255.255  255.255.255.255            リンク上         127.0.0.1    331
  255.255.255.255  255.255.255.255            リンク上   192.168.242.136    281
===========================================================================
固定ルート:
  ネットワーク アドレス          ネットマスク  ゲートウェイ アドレス  メトリック
  192.168.242.135  255.255.255.255    192.168.242.xx       1
===========================================================================

IPv6 ルート テーブル
===========================================================================
アクティブ ルート:
 If メトリック ネットワーク宛先      ゲートウェイ
  1    331 ::1/128                  リンク上
  1    331 ff00::/8                 リンク上
===========================================================================
固定ルート:
  なし
PS C:\Users\Administrator>

Linuxでの通信の疎通確認

Linuxで通信の疎通確認する方法は以下の記事でまとめました。

タイトルとURLをコピーしました