今回はWindowsについてのネットワーク・コマンドの一つでpingを新たな用途として使う方法に気づいたので、UPします。
pingはよく使うコマンドだが、Windowsに限っては、さらに面白い使い方があることがわかった(Unix系のOSにはない機能と思う)。
・Windowsではネットワーク探索を有効にしていると、LAN内に他のWindowsマシンが存在していると、ネットワークを参照したときに、自分のPCおよびLAN内のWindowsマシンやその他SMBサーバーのコンピュータ名(たとえばOwner-PCなど)が表示されている。Windowsのpingコマンドはこのコンピュータ名を使用できる。コンピュータ名については、システムのプロパティなどから確認できるし、通常は使用者の名前を使ったりして、わかりやすく名づけられている場合が多い。
・社内LANを構築している環境で、別のPC(マシン)のポート解放をルータに設定するなどの場合、別のマシンのIPを確認しに行くのは面倒という場合。今までだとarpコマンドを使って、MACアドレス(物理アドレス)とIPアドレスの一覧を出して、MACアドレスの上位6ケタからベンダー(メーカー)を割り出して、目的のPCはこのIPだろうとあたりをつけるところだ。この方法は同じメーカーのPCを多数導入している環境では、全く役に立たない。手抜きをしようとして、かえって難しいことをしているということです。
・もっとも、そんな環境なら、すべて固定のIPアドレスを割り当てて、リストをつくっておけと言われそうだが、初めてその場所で作業するという場合はそのようなリストをもらえないこともある。そのそこで、次のようなコマンドをコマンドプロンプトで実行します。
>ping -4 (コンピュータ名)
目的のPCのコンピュータ名がeigyou1_nanasi-PCというものだとつぎのようになります。
>ping -4 eigyou1_nanasi-PC
※>はプロンプトを表現しています。>は実際には打ち込まないでください。-4はIPv4のICMPを使用すると宣言しています。XPまではこのオプションは特に必要ありません。省略すると、Vista以降のOSではICMPv6が使用され、目的のPCのIPv6アドレスが返ってきます。
※うまくいかない場合は、相手のマシンがICMPに応答しないように、PC側のファイヤーウォールで設定されている可能性があります。あきらめましょう。共有設定のされているマシンならできると思います。
・arpコマンドも使用すれば、IPアドレスから当該マシンのMACアドレスもわかります。目的のPCがIPアドレス自動取得になっていたとしても、ルータに固定IPアドレスの払出機能があれば、当該マシンを操作しなくてもIPアドレスを固定できます。