たまにはネットワーク技術の記事を書きましょう。
現場で良く耳にするこんな言葉。
「Pingを打ったけど反応なかったから、そのIPを持つ端末は無い」
惜しい。実に惜しい。
同一ネットワーク(セグメント)内で確認する場合では、これだと確認が足りません。
Pingの応答を許可していない場合があるのです。
このような場合、Pingとarp確認をすることをオススメします。
過去に実際に自分の後輩とあったやりとりに手を加えて書いてみますー
目次
同一ネットワーク(セグメント)ならPingとarpをセットで確認しよう
あるIPにPing打って応答が無かった⇒そのIPアドレスを持つ機器は存在しない?
後輩A「アルパパさん~」
アルパパ「なんだ?」
後輩A「新しいPCを社内ネットワークに繋ぎたいので、空きIPと思われる192.168.31.100を使おうと思います。」
アルパパ「ほう」
後輩A「利用していないか念のため確認しようと思って同じネットワークにいる自分のパソコンから192.168.31.100へPingを打ったのですが応答がありませんでした。」
後輩A「ちなみに全てのパソコンは起動していることを確認しましたので、漏れはないと思います。これで使っていないことの確認が取れたので新しいパソコンに192.168.31.100を設定してハブに接続しちゃいますよ?」
アルパパ「ダメ!待って!」
後輩A「へ?」
アルパパ「確認が足りないよ」
後輩A「いや、だからPing打って応答無いって言ったんですけど・・」
アルパパ「社内のPCってWindowsしかないよね?」
後輩A「そうです」
アルパパ「Windowファイアウォールが有効になっているとPing(ICMP)に応答しないことがあるぞ」
後輩A「ということは設定しようとしているIPアドレス(192.168.1.100)を持っているPCがいたとしてもPing打っただけじゃ気づけないということですか?」
アルパパ「そうだ」
後輩A「IPアドレス管理簿とかもないので、全パソコンのIPアドレスを確認するか・・」
アルパパ「そんな事しなくても、もっと簡単に分かる方法があるぞ」
後輩A「どうやってやるんですか?」
arp解決結果を確認しよう
アルパパ「PCで設定したいIPにPingを打ってみた後に「arp -a」コマンドで確認してみよう。(Windowsの場合)」
※arpについては以下のページが分かりやすいです。
TCP/IP – ARPとは、RARPとは
アルパパ「ICMPを用いた通信。つまりレイヤ3の通信はWindowsファイアウォールの設定の影響で拒否されるんだけど、その前段階のレイヤ2の通信に必要なMACアドレスの入手を行うarpの処理はWindowsファイアウォールの設定に関わらず成功するはずだよ。」
後輩A「arp -aってそもそもなんでしたっけ?」
アルパパ「arp -aはPC自身が持つarpテーブルを表示するコマンドだから、MACアドレス(物理アドレス)の入手が成功していればそのIPアドレスを持つPCはすでに存在することになる。」
後輩A「なるほど!実際にやってみます!」
~30分後~
後輩A「アルパパさん!Ping打った後にarp -aを実行してみたら、192.168.31.100の物理アドレス(MACアドレス)が表示されました・・・」
アルパパ「気付て良かったな。このまま繋げていたら192.168.31.100のIPアドレスを持つPCの人が繋がらなくなっていたよ」
後輩A「はい・・・」
まとめ
同一ネットワーク内で、そのIPアドレスが存在するかを確認する場合はPingによる確認だけでなくarp確認を実施することが大切ですよ。
関連本の紹介
オーム社
売り上げランキング: 4,078