プロが教える店舗&オフィスのセキュリティ対策術

職場に存在する多数のPCのMACアドレスを、調べる方法を探しています。それらPCの利用者の邪魔にならないように、LAN経由でMACアドレスを調べることができたらと考えています。どうか方法をご存知の方は教えてください。

A 回答 (5件)

#2です。



問題はやったことがないので、arpキャッシュがどう挙動するか分からないことです。
というのはarpテーブルの登録は無いなら無いで動くからです。

ですからもしかして、arpテーブルのエントリ数というか容量というか、これに上限値があるかもしれない?し、
IPアドレスとMACアドレスの対応関係は、ネットワークの状況に応じ、
必ずしも固定的なものではないので、一定時間内に消える可能性があるかもしれない?し...
失敗するとしたらこの辺ですね。

だから、もしかしたらバッチファイルは

ping 192.168.0.0
arp -a >>ファイル名
arp -d 192.168.0.0

ping 192.168.0.1
arp -a >>ファイル名
arp -d 192.168.0.1

ping 192.168.0.2
arp -a >>ファイル名
arp -d 192.168.0.2

...
...
...

ping 192.168.0.255
arp -a >>ファイル名
arp -d 192.168.0.255

みたいなのがいいかもしれません。
あるいはこれを#3さんみたいにループさせるとか。

っで、一番最初に、コマンドプロンプトから、

arp -d IPアドレス

とやって【重要】arpテーブルを空っぽにしてからバッチファイルを実行します。

結果には、うまく行ったとしてもゴミが入ります。

Interface: 192.168.0.0
Internet Address Physical Address Type
192.168.0.0 xx-xx-xx-xx-xx-xx yyyy
Interface: 192.168.0.1
Internet Address Physical Address Type
192.168.0.1 xx-xx-xx-xx-xx-xx yyyy
Interface: 192.168.0.2
Internet Address Physical Address Type
192.168.0.2 xx-xx-xx-xx-xx-xx yyyy

みたいになります。
またところどころ

No ARP Entories Found

も混入します。エディタで編集するしかないですね。
    • good
    • 2

更に楽をするために...expingというソフトが便利だと思います


IPアドレスの範囲指定も可能ですし、PINGが成功時に任意の
コマンドを実行できます

今回は使わないでしょうがPING失敗時にも任意のコマンドを実行できます

参考URL:http://www.woodybells.com/
    • good
    • 2

#2さんの補足になりますが、下記のようにbatファイル記述すると行数が少なくてすみます。


(MACアドレスを覚えておく期間は短いので、もしかすると1回の検索範囲を狭める必要があるかもしれません)

for /L %f in (1,1,254) do ping -n 1 192.168.10.%f
arp -a >list.txt
for /L %f in (1,1,254) do ping -n 1 192.168.11.%f
arp -a >>list.txt
for /L %f in (1,1,254) do ping -n 1 192.168.12.%f
arp -a >>list.txt

ただし、ルータを介在している箇所が無いというのが前提条件です・・・。
    • good
    • 1

何とかして同一セグメントの全PCのコンピュータ名のリストを手に入れ、



これをテキストで編集し、
ping computername1
ping computername2
・・・
・・・
・・・
というバッチファイルかコマンドファイル(拡張子は.batか.cmd)を作り実行。

コマンドプロンプトから

arp -a >ファイル名

うまく行けば上記ファイルに入ります。


もし全PCのコンピュータ名のリストが手に入らなければ、
サブネットマスクを見て、アドレス範囲を全部並べればいいでしょう。

ex.
サブネットマスクが255.255.255.0
アドレスが192.168.0.x
なら、
ping 192.168.0.0
ping 192.168.0.1
ping 192.168.0.2
・・・
・・・
・・・
ping 192.168.0.255

やったことないんでダメかもしれませんが。
    • good
    • 0

同一サブネット内でIPアドレスが既知ならば


コマンドプロンプトで
ping IPアドレス を実行後

arp -a を実行すれば IPアドレスとMACアドレスが表示されます
arp -a > IP.txt とすれば IP.txtに結果が保存されます
    • good
    • 9
この回答へのお礼

御礼が遅くなって申し訳ありません。大変助かりました。ありがとうございました。

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

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

このQ&Aを見た人はこんなQ&Aも見ています