-
Notifications
You must be signed in to change notification settings - Fork 0
MS_PingCommand
-
TOP > インフラストラクチャ > ICMP
- pingコマンド
- pathpingコマンド
- tracertコマンド
「ping」コマンドは、以下の構文でルーティングについて調査できる。
ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] 対象先ホスト(ホスト名またはIPアドレス)
Options:
-t パケット送受信を繰り返す。停止するには「Ctrl」+「C」を押す。
-n count パケット送受信の回数(試行回数)を指定する。
-a IPアドレス指定の場合、ホスト名をDNSから逆引きして表示する。
-l size パケットのデータ部サイズを指定する。デフォルトは32バイト。
-f IPパケットの分割(フラグメント)を禁止する。
-i TTL IPパケットの通過可能なルータ数を指定する。
-v TOS IPパケットの優先度を指定する。
-r count 経由したルータのアドレスを記録する(最大9個まで)。
-s count 経由したルータのアドレスと時間を記録する(最大4個まで)。
-j host-list 経由すべきルータのアドレスを最大9個まで指定できる(ルーズ ソース ルーティング)。
ただし、指定されていないルータも経由できる。
-k host-list 経由すべきルータのアドレスを最大9個まで指定できる(ストリクト ソース ルーティング)。
指定されたルータのみを経由する。
-w timeout タイムアウト時間を指定する。単位はミリ秒。
移行メモ(正誤): 原文は
-jと-kに同じ説明 (「ただし、指定されていないルータも経由できる」)が付いていたが、-jが ルーズ(指定外のルータ経由も可)、-kが ストリクト(指定したルータのみ経由)で意味が逆。-kの説明を改めた。
補足(最新化):
-v TOSは Windows Vista 以降のスタックでは効果がなく、 ヘルプにも「このオプションは廃止されました」と表示される。 IPv6 を明示する-6、IPv4 を明示する-4が追加されている。
以下、問題発生時のメッセージ例について説明する。
C:\>ping xxx.xxx.xxx.xxx
Pinging xxx.xxx.xxx.xxx with 32 bytes of data:
Reply from xxx.xxx.xxx.xxx: Destination net unreachable.
「Destination net unreachable」の「Reply from xxx.xxx.xxx.xxx」は、
宛先不達エラーのICMPメッセージを報告しているルータのIPアドレスと考えられる。
経路上、このルータの時点でルーティングが不可であると推測できる。
C:\>ping xxx.xxx.xxx.xxx
Pinging xxx.xxx.xxx.xxx with 32 bytes of data:
Reply from xxx.xxx.xxx.xxx: TTL expired in transit.
「TTL expired in transit」の「Reply from xxx.xxx.xxx.xxx」は、
時間超過エラーのICMPメッセージを報告しているルータのIPアドレスと考えられる。
詳しくは「tracert」コマンドによる調査が必要だが、多くの場合、
ルータのルーティング情報の設定ミスによるループに陥っていると考えられる。
C:\>ping www.test.net
Unknown host www.test.net.
C:\>ping www.test.net
Ping request could not find host www.test.net. ~
ICMPによるルーティング調査以前に、指定したFQDN名の名前解決に失敗している。
FQDN名が間違っているか、DNSの設定ミスであることが推測される。
C:\>ping www.test.net
Pinging www.test.net [xxx.xxx.xxx.xxx] with 32 bytes of data:
Request timed out.
-
ICMPにより、ルーティングは正しいことは確認できたが、
対象ホストからエコー応答のICMPメッセージが返答されない場合である。- 単純にホスト自身が停止している場合や
- 対象ホスト、ルータがICMPパケットをフィルタしている可能性もある。
補足: Windows Server / Windows クライアントの既定のファイアウォールは エコー要求(ICMPv4 Type 8)を受信拒否する。 ping が通らない=ホスト停止とは限らない点に注意。 PowerShell の
Test-NetConnectionを使えば、 ICMP と TCP ポート疎通の両方をまとめて確認できる。
Tags: インフラストラクチャ, 通信技術, Windows, シェル
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。