コマンド ライン ユーティリティ

ここでは、次の内容について説明します。

ipconfig /all を使って構成を表示する

TCP/IP ネットワークで発生した問題のトラブルシューティングを行う場合は、まず問題の発生したコンピュータの TCP/IP 構成の確認から始めます。 ipconfig コマンドを使うと、ホスト コンピュータの構成情報 (IP アドレス、サブネット マスク、デフォルト ゲートウェイなど) が得られます。

note 注

ipconfig コマンドを /all オプションを指定して実行すると、すべてのインターフェイスに関して、構成済みのすべてのシリアル ポートまで含む詳細な構成情報が表示されます。 ipconfig /all では、コマンドの出力をファイルにリダイレクトしたり、出力をほかのドキュメントに貼りつけたりできます。 この出力は、ネットワーク上の各コンピュータの TCP/IP 構成の確認や、TCP/IP ネットワークの問題の詳細調査にも使用できます。

たとえば、既存の IP アドレスと重複する IP アドレスを持つように構成されているコンピュータがあると、サブネット マスクが 0.0.0.0 となります。

TCP/IP の自動構成に DHCP サーバーを使い、名前解決に WINS サーバーと DNS サーバーを使うように構成されているコンピュータで ipconfig /all コマンドを実行した場合の出力を次に示します。

Windows 2000 IP Configuration

        Node Type . . . . . . . . . : Hybrid
        IP Routing Enabled. . . . . : No
        WINS Proxy Enabled. . . . . : No

Ethernet adapter Local Area Connection:

        Host Name . . . . . . . . . : corp1.microsoft.com
        DNS Servers . . . . . . . . : 10.1.0.200
        Description . . . . . . . . : 3Com 3C90x Ethernet Adapter
        Physical Address. . . . . . : 00-60-08-3E-46-07
        DHCP Enabled. . . . . . . . : Yes
        Autoconfiguration Enabled . : Yes
        IP Address. . . . . . . . . : 192.168.0.112
        Subnet Mask . . . . . . . . : 255.255.0.0
        Default Gateway . . . . . . : 192.168.0.1
        DHCP Server . . . . . . . . : 10.1.0.50
        Primary WINS Server . . . . : 10.1.0.101
        Secondary WINS Server . . . : 10.1.0.102
        Lease Obtained. . . . . . . : 1998 年 9 月 2 日 水曜日 午前 10:32:13
        Lease Expires . . . . . . . : 1998 年 9 月 18 日 金曜日 午前 10:32:13

TCP/IP の構成に何も問題がなければ、次は、TCP/IP ネットワーク上のほかのホスト コンピュータと接続できるかどうかをテストします。

ipconfig /renew を使って構成を更新する

TCP/IP ネットワークで発生した問題のトラブルシューティングを行う場合は、まず問題の発生したコンピュータの TCP/IP 構成の確認から始めます。 コンピュータが DHCP に対応しており、DHCP サーバーを使って構成を取得している場合は、ipconfig /renew コマンドを実行することにより、リースの更新を開始できます。

ipconfig /renew コマンドを実行すると、DHCP を使用するコンピュータ上のすべてのネットワーク アダプタ (手動で構成するものは除く) が DHCP サーバーと通信し、既存の構成を更新するか、または新しい構成を取得しようとします。

ipconfig コマンドでは、/release オプションを指定してホストの現在の DHCP 構成を直ちに解放することもできます。 DHCP およびリース処理の詳細については、「クライアントが構成を取得する方法」を参照してください。

note 注

ipconfig を使って DNS と DHCP のクラス ID を管理する

ipconfig コマンドでは、次の操作も行うことができます。

ping を使って接続をテストする

ping コマンドは、IP レベルでの接続の確認に役立ちます。 トラブルシューティングを行う際、ping を使うと、ICMP エコー要求を目的のホスト名または IP アドレス宛に送ることができます。 ホスト コンピュータが TCP/IP ネットワークおよびネットワーク リソースに接続できるかどうかを確認する必要がある場合は、いつでも ping を使ってください。 ping は、ネットワーク ハードウェアの問題や互換性のない構成を見つけるのにも使えます。

通常は、まず接続しようとしているネットワーク ホストの IP アドレスを指定して ping コマンドを実行し、ローカル コンピュータとネットワーク ホストの間にルートがあることを確認するのが最もよい方法です。 次のコマンドを使って目的のホストの IP アドレスを ping してみて、応答があるかどうかを調べます。

ping IP_address

ping を使う場合は、次の手順に従って実行してください。

  1. ループバック アドレスを指定して ping を実行し、ローカル コンピュータ上に TCP/IP がインストールされており、正しく構成されていることを確認します。

    ping 127.0.0.1

  2. ローカル コンピュータの IP アドレスを指定して ping を実行し、それがネットワークに正しく追加されていることを確認します。

    ping IP_address_of_local_host

  3. デフォルト ゲートウェイの IP アドレスを指定して ping を実行し、デフォルト ゲートウェイが動作していて、ローカル ネットワーク上のローカル ホストと通信できることを確認します。

    ping IP_address_of_default_gateway

  4. リモート ホストの IP アドレスを指定して ping を実行し、ルーターを介して通信できることを確認します。

    ping IP_address_of_remote_host

ping コマンドは、Windows のソケット スタイルの名前解決を使ってコンピュータ名を IP アドレスに解決するため、アドレスでの ping には成功し、名前での ping に失敗する場合は、ネットワーク接続ではなくアドレスまたは名前の解決に問題があります。 詳細については、「arp を使ってハードウェア アドレスをトラブルシューティングする」を参照してください。

どの点でも ping を正常に使えない場合は、次の点を確認してください。

ping コマンドでは、各種オプションを指定することにより、使用するパケットのサイズ、送信するパケットの数、使用されたルートを記録するかどうか、使用する TTL (Time-To-Live: 生存時間) 値、"don't fragment (フラグメント化しない)" フラグをオンにするかどうかなどを指定することができます。 ping −? と入力すると、指定できるオプションが表示されます。

次に示すのは、サイズが 1,450 バイトの 2 つの ping を IP アドレス 172.16.48.10 へ送った例です。

C:¥>ping -n 2 -l 1450 172.16.48.10
Pinging 172.16.48.10 with 1450 bytes of data:

Reply from 172,160,480,10: bytes=1450 time<10ms TTL=32
Reply from 172,160,480,10:bytes=1450 time<10ms TTL=32

Ping statistics for 157.59.8.1:
    Packets: Sent = 2, Received = 2, Lost = 0 (0% loss),
Approximate roundtrip times in milli-seconds:
    Minimum = 0ms, Maximum =  10ms, Average =  2ms

既定の設定では、ping は、各応答を 1,000 ms (1 秒間) 待ち、この時間が経過しても応答が返されないと "Request Timed Out" というメッセージを表示します。 遅延の大きいリンク (衛星リンクなど) を介して接続されたリモート システムに ping すると、応答が返されるまでにこれより長い時間を要する可能性もあります。 -w (wait) オプションを使うと、既定より大きいタイムアウト値を指定できます。

arp を使ってハードウェア アドレスをトラブルシューティングする

ARP (Address Resolution Protocol: アドレス解決プロトコル) を使うと、同一物理ネットワーク上にあるホストの IP アドレスを指定して、そのホストのメディア アクセス制御アドレスを取得することができます。 ARP の効率を高めるために、各コンピュータは、IP アドレスからメディア アクセス制御アドレスへのマッピングをキャッシュして、同じ ARP ブロードキャスト要求が繰り返し送信されないようにしています。

arp コマンドを使うと、ローカル コンピュータ上の ARP テーブルのエントリを表示および変更できます。 arp コマンドは、ARP キャッシュの内容を表示し、アドレス解決に関する問題を解決する際に役立ちます。

詳細については、「ARP (Address Resolution Protocol: アドレス解決プロトコル) キャッシュを表示するには」および「静的な ARP キャッシュ エントリを追加する」を参照してください。

nbtstat を使って NetBIOS 名をトラブルシューティングする

NetBIOS over TCP/IP (NetBT) は、NetBIOS 名を IP アドレスに解決します。 TCP/IP には、ローカル キャッシュの検索、WINS サーバーへのクエリ、ブロードキャスト、DNS サーバーへのクエリ、Lmhosts ファイルの検索、Hosts ファイルの検索など、NetBIOS 名解決に関する多くのオプションが用意されています。

Nbtstat は、NetBIOS 名解決で発生した問題をトラブルシューティングする際に便利なツールです。 次のように nbtstat コマンドを使うと、あらかじめ読み込むエントリを削除または修正できます。

netstat を使って接続統計を表示する

netstat コマンドを使うと、プロトコルの統計情報と現在の TCP/IP 接続を確認することができます。 netstat -a コマンドを実行すると、すべての接続が表示され、netstat -r を実行すると、ルート テーブルとアクティブな接続が表示されます。 netstat -e コマンドを実行すると、イーサネットの統計情報が表示され、netstat -s を実行すると、プロトコルごとの統計情報が表示されます。 netstat -n を実行した場合、アドレスとポート番号は名前に変換されません。次に、netstat のサンプル出力を示します。

C:¥>netstat -e
Interface Statistics

                       Received      Sent
Bytes                  3995837940    47224622
Unicast packets        120099        131015
Non-unicast packets    7579544       3823
Discards               0             0
Errors                 0             0
Unknown protocols      363054211

C:¥>netstat -a

Active Connections

 Proto Local Address      Foreign Address       State
 TCP  CORP1:1572       172.16.48.10:nbsession   ESTABLISHED
 TCP  CORP1:1589       172.16.48.10:nbsession   ESTABLISHED
 TCP  CORP1:1606       172.16.105.245:nbsession ESTABLISHED
 TCP  CORP1:1632       172.16.48.213:nbsession  ESTABLISHED
 TCP  CORP1:1659       172.16.48.169:nbsession  ESTABLISHED
 TCP  CORP1:1714       172.16.48.203:nbsession  ESTABLISHED
 TCP  CORP1:1719       172.16.48.36:nbsession   ESTABLISHED
 TCP  CORP1:1241       172.16.48.101:nbsession  ESTABLISHED
 UDP  CORP1:1025       *:*
 UDP  CORP1:snmp       *:*
UDP  CORP1:nbname     *:*
UDP  CORP1:nbdatagram *:*
UDP  CORP1:nbname     *:*
UDP  CORP1:nbdatagram *:*
C:¥>netstat -s
IP Statistics

 Packets Received             = 5378528
 Received Header Errors       = 738854
 Received Address Errors      = 23150
 Datagrams Forwarded          = 0
 Unknown Protocols Received   = 0
 Received Packets Discarded   = 0
 Received Packets Delivered   = 4616524
 Output Requests              = 132702
 Routing Discards             = 157
 Discarded Output Packets     = 0
 Output Packet No Route       = 0
 Reassembly Required          = 0
 Reassembly Successful             = 0
 Reassembly Failures               = 0
 Datagrams Successfully Fragmented = 0
 Datagrams Failing Fragmentation   = 0
 Fragments Created                 = 0

ICMP Statistics
Received  Sent
 Messages                 693       4
Errors                   0         0
 Destination Unreachable  685       0
 Time Exceeded            0         0
 Parameter Problems       0         0
 Source Quenches          0         0
 Redirects                0         0
 Echoes                   4         0
 Echo Replies             0         4
 Timestamps               0         0
 Timestamp Replies        0         0
 Address Masks            0         0
 Address Mask Replies     0         0

TCP Statistics

 Active Opens                 = 597
 Passive Opens                = 135
 Failed Connection Attempts   = 107
 Reset Connections            = 91
 Current Connections          = 8
 Segments Received            = 106770
 Segments Sent                = 118431
 Segments Retransmitted       = 461

UDP Statistics

 Datagrams Received   = 4157136
 No Ports             = 351928
 Receive Errors       = 2
 Datagrams Sent       = 13809

tracert を使ってネットワーク接続を追跡する

tracert (Trace Route) は、IP データグラムが送信先に到達するまでにたどるルートを調べるために使用されるルート追跡ユーティリティです。 tracert コマンドは、IP の TTL (Time-To-Live: 生存時間) フィールドと ICMP エラー メッセージを使って、1 つのホストからネットワークを介しての別のホストまでのルートを調べます。

tracert の動作方法

この診断ユーティリティは、ICMP (Internet Control Message Protocol: インターネット制御メッセージ プロトコル) エコー パケットにさまざまな TTL (Time-To-Live: 有効期限) の値を載せて宛て先に送信することで、宛て先へのルートを突き止めます。 ルート上の各ルーターは、パケットを転送する際、転送前にパケットの TTL 値を少なくとも 1 だけ小さくしなければなりません。パケット上の TTL が 0 になったら、ルーターは、送信元コンピュータに ICMP Time Exceeded メッセージを送り返すことになっています。

tracert は、まず、エコー パケットに TTL 値 1 を載せて送信し、次のルーターにエコー パケットが送信されるたびに TTL を 1 だけ増分していきます。 ターゲットが応答するか、最大 TTL に達するまでこれを継続します。tracert は、中間のルーターから送り返された "ICMP Time Exceeded" メッセージを調べてルーターを突き止めます。 ルーターの中には、パケットの TTL が 0 になってもエラー メッセージを送信せずにパケットを破棄するため、tracert ユーティリティからは検出できないものもあります。

tracert コマンドは、ルート上にあり、"ICMP Time Exceeded" メッセージを返してきたルーターを近い側のインターフェイスから順に一覧表示します。 tracert ユーティリティは、-d オプションを指定すると、各 IP アドレスに関する DNS 検索を実行しません。

次に示す例では、パケットは、172.16.0.99 のホストに到達するまでに 2 つのルーター (10.0.0.1 と 192.168.0.1) を経由しなければなりません。 ホストのデフォルト ゲートウェイは 10.0.0.1、192.168.0.0 ネットワーク上のルーターの IP アドレスは 192.168.0.1 です。

C:¥>tracert 172.16.0.99 -d
Tracing route to 172.16.0.99 over a maximum of 30 hops
1     2 ms     3 ms     2 ms  10.0.0.1
2    75 ms    83 ms    88 ms  192.168.0.1
3    73 ms    79 ms    93 ms  172.16.0.99
Trace complete.

tracert を使ったトラブルシューティング

tracert コマンドを使うと、ネットワーク上のどこでパケットが止まっているかを調べることができます。 次の例では、デフォルト ゲートウェイが 192.168.10.99 上のホストへの有効なルートを持たないことがわかりました。 おそらく、ルーターの構成に問題があるか、または 192.168.10.0 というネットワークが存在しません (不正な IP アドレス)。

C:¥>tracert 192.168.10.99

Tracing route to 192.168.10.99 over a maximum of 30 hops

1 10.0.0.1 reports: Destination net unreachable.

Trace complete.

tracert ユーティリティは、同一ポイントへ到達するまでに何通りものルートを取ることができるような大規模ネットワークのトラブルシューティングに便利です。

tracert コマンドライン ユーティリティ

tracert コマンドでは、次の表に示すようないくつものオプションがサポートされています。

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

オプション 説明
-d IP アドレスがホスト名に解決されないように指定します。
-h maximum_hops target_name に指定したホスト名までのルートの追跡に許されるホップ数を指定します。
-j host-list tracert ユーティリティのパケットが取るルート内のルーター インターフェイスのリストを指定します。
-w timeout タイムアウトで指定したミリ秒だけ、応答するのを毎回待ちます。
ターゲット名 目的のホストの名前または IP アドレス。

詳細については、「tracert コマンドを使ってパスを追跡する」を参照してください。

pathping を使ってルーターをテストする

pathping コマンドは、ping コマンドと tracert コマンドの機能を組み合わせたルート トレース ツールで、どちらのツールからも提供されない追加情報を提供します。pathping コマンドは、最終的な宛先への経路上にある各ルーターに対して、一定の時間にわたってパケットを送信し、各ホップから戻ってくるパケットに基づいて結果を計算します。指定のルーターやリンクにおけるパケット損失の割合が表示されるので、ネットワークの問題を引き起こしている可能性があるルーターやリンクを、簡単に判別できます。次の表に示すように、いくつかのオプションを利用できます。

オプション 名前 機能
-n ホスト名 アドレスをホスト名に解決しません。
-h 最大ホップ ターゲット検索用の最大ホップ数。
-g ホスト一覧 ホストの一覧に沿った自由なソース ルート。
-p 待ち時間 ping 間の待ち時間 (ミリ秒単位)。
-q クエリ数 ホップあたりのクエリ数。
-w Time-out ここで指定するミリ秒数だけ、各応答を待ちます。
-T レイヤ 2 タグ パケットにレイヤ 2 タグ (たとえば、IEEE 802.1p 用) を追加して、パスにある各ネットワーク デバイスに送信します。 これにより、適切に構成されたレイヤ 2 優先順位を持たないネットワーク デバイスを識別することができます。 -T スイッチは、QoS (Quality of Service: サービスの品質) 接続のテストに使用されます。
-R RSVP テスト パス上の各ルーターが RSVP (Resource Reservation Protocol) をサポートするかどうかを調べます。RSVP を使うと、ホスト コンピュータはデータ ストリームに一定量の帯域幅を予約することができます。 -R スイッチは、QoS (Quality of Service: サービスの品質) 接続のテストに使用されます。

既定のホップ数は 30 で、タイムアウトまでの既定の待ち時間は 3 秒です。既定の間隔は 250 ミリ秒で、パス上の各ルーターへの既定のクエリ数は 100 です。

次は、一般的な pathping コマンドのレポートです。ホップの一覧に続く、収集された統計情報は、各ルーターにおけるパケット損失を表します。


D:¥>pathping -n msw

Tracing route to msw [7.54.1.196]
over a maximum of 30 hops:
  0  172.16.87.35
  1  172.16.87.218
  2  192.68.52.1
  3  192.68.80.1
  4  7.54.247.14
  5  7.54.1.196

Computing statistics for 125 seconds...
            Source to Here   This Node/Link
Hop  RTT    Lost/Sent = Pct  Lost/Sent = Pct  Address
  0                                           172.16.87.35
                              0/ 100 =  0%    |
1   41ms     0/ 100 =  0%     0/ 100 =  0%    172.16.87.218
                              13/ 100 = 13%   |
2   22ms    16/ 100 = 16%     3/ 100 =  3%    192.68.52.1
                              0/ 100 =  0%    |
3   24ms    13/ 100 = 13%     0/ 100 =  0%    192.68.80.1
                              0/ 100 =  0%    |
4   21ms    14/ 100 = 14%     1/ 100 =  1%    10.54.247.14
                              0/ 100 =  0%    |
5   24ms    13/ 100 = 13%     0/ 100 =  0%    10,540,10,196

Trace complete.

pathping を実行すると、問題発生の検査の対象であるルートの結果が、最初に表示されます。このパスは、tracert コマンドで表示されるパスと同じです。その後、pathping コマンドは、125 秒間にわたってビジー メッセージを表示します (この時間はホップ数によって変更します)。この間、pathping は、直前に一覧したすべてのルーターと、ルーター間のリンクから情報を収集します。これが終了すると、検査の結果が表示されます。

右端の 2 つの列の [This Node/Link Lost/Sent=Pct] および [Address] に、最も有用な情報が表示されます。172.16.87.218 (ホップ 1) と 192.68.52.1 (ホップ 2) との間のリンクでは、パケットの 13% が失われています。ほかのすべてのリンクは、正常に動作しています。ホップ 2 およびホップ 4 のルーターでも、[This Node/Link] 列に示すように、送信されてきたパケットが失われていますが、この損失は転送パスには影響していません。

リンクに対して表示される損失の割合 (右端の列の "|" でマーク) は、パスに沿って転送されているパケットの損失を表します。この損失は、リンクが混雑していることを表します。ルーターに対して表示される損失の割合 (右端の列は IP アドレス) は、ルーターの CPI が過負荷の可能性があることを表します。これらの混雑しているルーターは、パケットが特にソフトウェア ルーターによって転送されている場合に、エンド ツー エンドの問題の要因になる可能性もあります。