[Windows]IPアドレスからマシン名を求める

IPアドレスからマシン名を求めるにはnbtstatコマンドを使います

nbtstatコマンドヘルプ

まずはnbtstatの使い方から

C:\Users\xxx>nbtstat /?
NBT (NetBIOS over TCP/IP) を使用して、プロトコルの統計と現在の TCP/IP ネットワーク接続を表示します。

NBTSTAT [ [-a RemoteName] [-A IP address] [-c] [-n]
        [-r] [-R] [-RR] [-s] [-S] [interval] ]

  -a   (adapter status) 名前を元に、リモート コンピューターの名前テーブルを一覧表示します。
  -A   (Adapter status) IP アドレスを元に、リモート コンピューターの名前テーブルを一覧表示します。
  -c   (cache)          NBT のキャッシュにあるリモート [コンピューター] 名と IPアドレスを一覧表示します。
  -n   (names)          ローカルの NetBIOS 名を一覧表示します。
  -r   (resolved)       ブロードキャストと WINS によって解決した名前を一覧表示します。
  -R   (Reload)         リモート キャッシュ名前テーブルを破棄し、再度読み込みます。
  -S   (Sessions)       セッション テーブルを宛先 IP アドレスと一覧表示します。
  -s   (sessions)       宛先 IP アドレスをコンピューターの NETBIOS 名に変換して、セッション テーブルを一覧表示します。
  -RR  (ReleaseRefresh) 名前解放パケットを WINS に送信してから、更新を開始します。

  RemoteName   リモートのホスト コンピューター名です。
  IP address   ドット区切り 10 進数表記の IP アドレスです。
  interval     各表示で interval 秒間一時停止しながら、選択した統計を再表示します。

統計の再表示を停止するには、CTRL+C を押してください。

C:\Users\xxx>

“-A”オプションでIPアドレスからコンピュータ名を求められるみたいです

試してみる

では実際に試してみます

IPアドレス “192.168.0.10”のコンピュータ名を調べてみましょう

C:\Users\xxx>nbtstat -A 192.168.0.10

ローカル エリア接続:
ノード IP アドレス: [192.168.0.21] スコープ ID: []

           NetBIOS リモート コンピューター ネーム テーブル

       名前               種類         状態
    ---------------------------------------------
    JAGUAR           一意        登録済
    JAGUAR           一意        登録済
    JAGUAR           一意        登録済
    WORKGROUP        グループ    登録済
    WORKGROUP        グループ    登録済

    MAC アドレス = 00-00-00-00-00-00

C:\Users\xxx>

でました。IPアドレス”192.168.1.10″のコンピュータ名は「JAGUAR」のようです

種類が “00”と”03″とか”20″とかありますが、このあたりはよーわかりません