
【PsPingで謎の応答が発生】
ローカルネットワーク内の端末(記事中ではA.A.A.A)にアクセスできないという問い合わせを受けたため、原因調査のためにまず疎通確認を実施しました。
この時たまたま PsPingを使っていました。PsPingはオプションやポートを指定しない場合、通常のPingと同様に ICMPのリクエストを送信します。
この時たまたま PsPingを使っていました。PsPingはオプションやポートを指定しない場合、通常のPingと同様に ICMPのリクエストを送信します。
その結果…
C:\>psping A.A.A.A
PsPing v2.10 - PsPing - ping, latency, bandwidth measurement utility
Copyright (C) 2012-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Pinging A.A.A.A with 32 bytes of data:
5 iterations (warmup 1) ping test:
Reply from A.A.A.A: 4056.86ms
Reply from A.A.A.A: 4101.19ms
Reply from A.A.A.A: 4091.79ms
Reply from A.A.A.A: 4168.01ms
Reply from A.A.A.A: 3936.02ms
Ping statistics for A.A.A.A:
Sent = 4, Received = 4, Lost =0 (0% loss),
Minimum = 3936.02ms, Maximum = 4168.01ms, Average = 4074.26ms
PsPing v2.10 - PsPing - ping, latency, bandwidth measurement utility
Copyright (C) 2012-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Pinging A.A.A.A with 32 bytes of data:
5 iterations (warmup 1) ping test:
Reply from A.A.A.A: 4056.86ms
Reply from A.A.A.A: 4101.19ms
Reply from A.A.A.A: 4091.79ms
Reply from A.A.A.A: 4168.01ms
Reply from A.A.A.A: 3936.02ms
Ping statistics for A.A.A.A:
Sent = 4, Received = 4, Lost =0 (0% loss),
Minimum = 3936.02ms, Maximum = 4168.01ms, Average = 4074.26ms
なんと 4000ms 超え!! 遅いなんてものじゃない。
Windows の通常のPingのデフォルトタイムアウト値くらいの応答速度です。
これは端末またはネットワークに何らかの異常があると見受けられます。
そこで取り急ぎ端末の再起動をしてみるものの、改善せず。
Windows の通常のPingのデフォルトタイムアウト値くらいの応答速度です。
これは端末またはネットワークに何らかの異常があると見受けられます。
そこで取り急ぎ端末の再起動をしてみるものの、改善せず。
さらに調査を進めてみると、なんと
IPアドレス(A.A.A.A)がARPテーブルに乗っていないことが判明。
ん? なぜARPに存在しないIPアドレスから応答があるのだ…?
IPアドレス(A.A.A.A)がARPテーブルに乗っていないことが判明。
ん? なぜARPに存在しないIPアドレスから応答があるのだ…?
【答え合わせ】
謎の応答の正体を探るべく、パケットキャプチャを実施した結果、正体はすぐにわかりました。
それは「Destination unreachable」でした。
それは「Destination unreachable」でした。
実際に通常のPingを実行した結果は以下の通りです。
C:\>ping A.A.A.A
A.A.A.A に ping を送信しています 32 バイトのデータ:
要求がタイムアウトしました。
B.B.B.B からの応答: 宛先ホストに到達できません。
要求がタイムアウトしました。
B.B.B.B からの応答: 宛先ホストに到達できません。
A.A.A.A の ping 統計:
パケット数: 送信 = 4、受信 = 2、損失 = 2 (50% の損失)、
A.A.A.A に ping を送信しています 32 バイトのデータ:
要求がタイムアウトしました。
B.B.B.B からの応答: 宛先ホストに到達できません。
要求がタイムアウトしました。
B.B.B.B からの応答: 宛先ホストに到達できません。
A.A.A.A の ping 統計:
パケット数: 送信 = 4、受信 = 2、損失 = 2 (50% の損失)、
このときPsPingで出力された「Reply」は「Destination unreachable」だったのです。「Destination unreachable」だとしても妙に遅い印象はありますが、NW機器側の仕様なのでしょう。
つまり、PsPingでICMPの疎通確認はできるが、その応答が端末からの Echo reply なのか、経路途中のNW機器からの Destination unreachable なのかを判別できない、ということですね。
(じゃあ Reply from A.A.A.A って大嘘じゃないか…)
つまり、PsPingでICMPの疎通確認はできるが、その応答が端末からの Echo reply なのか、経路途中のNW機器からの Destination unreachable なのかを判別できない、ということですね。
(じゃあ Reply from A.A.A.A って大嘘じゃないか…)
よく考えたら「ARPテーブルに乗っていない」という時点でほぼ答え合わせでしたね。
【まとめ:PsPing の ICMP ping は要注意】
PsPingは通常のPingと同様にICMPのリクエストを送信できるが、曖昧な結果しか出力できない、ということです。これでは、単純な疎通確認としての使い勝手はとても悪いですね。
PsPingの利用はTCPなどのポートの疎通確認などにとどめて、通常のPingの代わりに使うのは避けた方が良さそうです。
PsPingの利用はTCPなどのポートの疎通確認などにとどめて、通常のPingの代わりに使うのは避けた方が良さそうです。