dポイントプレゼントキャンペーン実施中!

コマンドプロンプトの練習として、タイトルのような動作を
コマンドプロンプトのみで実行できる手順を探しています。

実践的な状況としては、「ネットワーク上に100台規模でPCが接続されているオフィスに出向いて、ネットワークプリンタのメーカーを調べる」といったことを想定しています。

会社の先輩と一緒に考えた手順としては、

(1)for /l %i in (0,1,255) do ping -w 1 -n 1 192.168.XXX.255 && arp -a 192.168.XXX.255 1>>out.log
で、現在使用中のIPアドレスを確認

(2)arp -aで使用中IPアドレスとマックアドレスの対応表を入手

(3)nbtstat -cで使用中のIPアドレスに対応したネームの一覧を入手

(4)ネームから、プリンタと思われるIPアドレスを確認

(5) (2)で確認したマックアドレスから、IEEEのサイトでメーカー名確定


これで上手くいくと思っていたのですが、(3)の部分でどう頑張っても
キャッシュに現在使用中のIPアドレスが登録されません。

昨日5時間くらい悩みましたが、結局分からず終いでした。

どなたか専門家の先輩方、知恵を貸していただけないでしょうか。

A 回答 (2件)

nbtstat -cで表示されるのは名前解決のキャッシュで


ping [ipアドレス] だと名前解決が不要なため登録されません。

nbtstat -A [ipアドレス] なら登録されますが
多分プリンタだと Host not found. です…
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

おっしゃる通り、私たちの時はHost not foundになりました。
ネットワーク構成が少数ならmacアドレスを1つずつ調べて
それっぽいメーカーを特定すればいいのですが・・・

お礼日時:2008/09/23 08:14

LOOK@LANというFreeSoftがありますヨ


質問の答えにはなっていなくて、すみません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
フリーソフトで一覧を表示させた後だったら、
nbtstat-cで一発で一覧表示ができるんですがねぇ・・・
困ったものです。

お礼日時:2008/09/20 19:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!