忙しい現代人の腰&肩のお悩み対策!

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

このQ&Aに関連する最新のQ&A

A 回答 (5件)

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


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

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

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

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

#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

このQ&Aに関連する人気のQ&A

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qルーターにつながっている全ての器機のIPアドレスを調べる方法

DHCP機能で振り分けらた全ての器機のIPアドレスを調べる方法はありませんか??

コマンドプロンプトから調べれるコマンドのようなものがあれば教えて頂きたいのですが、、、。


ルータはNTT製品の NVIIIです。

Aベストアンサー

DHCPからの貸し出し先だけでよければおそらく
DHCPのサーバーに貸し出し中のリストをもっています。
ルータがDHCPサーバーでしたら説明書をよんでみて
ください。
dhcpdなど立てていたらvarのどこかにdhcpd.leases
があるとおもいます

Q相手PCのMACアドレスを知るためのコマンドは?

こんにちは、
相手PCのMACアドレスを知るためのコマンドは何でしょうか?
単にPingでは、相手のIPアドレスしかわかりません。

何かお分かりの方がいましたら教えてください。 よろしくお願いします。

Aベストアンサー

相手のPCが自分と同じブロードキャストドメイン(同じLAN内)にあり、かつ一度通信していれば自PCが覚えているので(Windowsの場合)arp -a で表示されると思います。
別のブロードキャストドメインにある場合はルータでブロックされるのでMACアドレスは取得できないと思います。(方法があるのかもしれませんが私はわかりません)

Qコマンドプロンプトを使ってipアドレスからコンピュータ名を知る方法

ipアドレスは分かっていますがコンピュータ名が分かりません。リモート接続ソフトなどは使えないので、それでコンピュータ名を調べることはできません。
コマンドプロンプトを使ってipアドレスからコンピュータ名を知る方法を教えてください!

Aベストアンサー

なんか回答がバラバラなので整理しましょう。
調査している自分自身が使用している端末は、Windows XPのPCであると仮定します。
また、調べるのは基本的に外部から名前解決可能な名前(No.2さんの言う"2"に相当する名前)とします。

パターン1:
対象のIPアドレスがWindows端末機で、自分が使用している端末と同じネットワークに属しているか同一のWINSサーバを参照しているとき……No.4さんの答えで検索できます。

nbtstat -A <IP Address>

パターン2:
ネットワーク管理者がDNSをきちんと管理しており、対象IPについても管理者の管理下にある場合……以下2つのいずれかの方法で検索できます。

  nslookup <IP address>

または

  nslookup -q=ptr <reverse ip>.in-addr.arpa.
  ex) 192.168.12.1 のIPを調べたい場合、以下のように入力する
  nslookup -q=ptr 1.12.168.192.in-addr.arpa.

  (DNSサーバで逆引きが設定されていないと、正しく検索できない場合があります)

パターン3:
上記以外の場合

外部から名前解決できないので、調べようがありません。または、調べてもそれが正しいホスト名である保証がありません。
そのIPの端末自体に設定されているホスト名を直接調べるしかありませんが、それには実際にそのIPの端末を操作して調べるしかありません。
つまり、No.2さんの回答となるのですが、
IPを使用しているのがWindows PCやUnixサーバなどである保証はないので、確認するコマンドはその端末の種類(OS)によって異なります。

なお、tracert (traceroute)を使用する、という回答がありますが、これはパターン1またはパターン2のいずれかまたは両方を満たしていないと表示されませんので、厳密には正しい答えとはいえません。
(たいていの場合、"tracert <IP address>" や "ping <IP address>"で用が足りてしまうことも多いので、必ずしも間違いではないのですが)

なんか回答がバラバラなので整理しましょう。
調査している自分自身が使用している端末は、Windows XPのPCであると仮定します。
また、調べるのは基本的に外部から名前解決可能な名前(No.2さんの言う"2"に相当する名前)とします。

パターン1:
対象のIPアドレスがWindows端末機で、自分が使用している端末と同じネットワークに属しているか同一のWINSサーバを参照しているとき……No.4さんの答えで検索できます。

nbtstat -A <IP Address>

パターン2:
ネットワーク管理者がDNSをきちんと管理して...続きを読む

QMACアドレスからIPアドレスを割り出す方法はありますか

MACアドレスだけがわかっている場合、そのPCのTCPIPを割り出す方法があるでしょうか?
MACアドレスだけがわかっているPCは、同一セグメント内やLAN内ではなくて、どのネットワークに接続されているかまったくわかりません。
PINGを飛ばす感覚でMACアドレスを飛ばして、IPアドレスを返すようなコマンドやツールなどご存知でしたら教えてください。

Aベストアンサー

こんにちは、疑問はつきませんね。

さてご質問の件ですが、少々勘違いなさっているような気がします。

MACアドレスは、セグメントを越えて出て行くことはできません。セグメントを越えるためにはルーターが必要なことはご存じかと思いますが、そのときには、セグメント内部の機器のMACアドレスは、ルーターのMACアドレスに書き換わってしまいます。

よって、どこにあるかわからないMACアドレスを探すことはできません。

Qコマンドでネットワーク上の全てのIPアドレスを取得したい

まさに質問のとおり、
「コマンドプロンプト上であるコマンドを打ち、
同ネットワーク上の全てのマシンに振られているIPアドレス等が表示できる!」
というのは可能ですか??
そういうコマンドがあれば教えていただけませんか?

※arp、netstatなどを片っ端から打ってみたんですがそのような表示をさせてくれるコマンドではなかったので投稿させていただきます。
力不足ならご指摘ください。お願いします。

Aベストアンサー

「nbtscan」ってソフトを使用しています。
コマンドプロンプトから実行しますが、指定したセグメント内の全てのIPとPC名をひろってきます。
DHCP環境での管理にはかなり重宝しています。
nbtscanの強いところはWAN内のほかのセグメントも見に行けることです。既出の「domainview」はGUIで操作も簡単なので同セグメントの情報取得にはそちらが便利ですが、他セグメントなどを見に行くときにはnbtscanが強いです。

参考URL:http://www.inetcat.org/software/nbtscan.html

Qセグメントを越えてMACアドレスを取得する(無理?)

はじめまして、質問文を見ていただきありがとうございます。
早速ですが、質問させていただきます。

セグメントを越えた先にあるPCのMACアドレスを取得する方法はございますか?
たとえば192.168.1.1/24のPCからルータを越えて、192.168.2.1/24のPC
が持っているMACアドレスを取得する方法です。

ルータに対してSNMPを使用してARPテーブルを取り出す手法があるとは
思いますが、今回はSNMPは使用不可能という前提でお願いします。

過去の質問に対する答えからも無理だとは思うのですが、何かアイディア
等はございませんでしょうか?よろしくお願いいたします。

Aベストアンサー

SNMP使用不可なら直接ルータにアクセスして取得するという方法がありますね(笑)
他に、PCから直接情報を取る方法があります。インベントリ情報の収集ツールを入れてもいいですし、何らかの方法で直接取得してもよいでしょう。
Windowsであれば、msinfo32というコマンドから情報が取得できると思います。

Qネットワーク内のIPアドレスを調べるには

早速ですが、同じネットワーク内で使われているIPアドレス全てを一覧表示する事の出来るコマンドがあったような気がするのですが、全く分からなくなりました。
分かる方回答をお願いします。

Aベストアンサー

WIN2kならipconfig
WIN9Xならwinipcfg

QIPアドレス競合時、相手を見つけられる?

IPアドレスが競合している旨のメッセージが出るようになりました。
おそらく誰かがそのアドレスを使っているのだと思いますが、誰なのか又は何なのか、何処なのかがわかりません。
このような場合、調べられるコマンドやツールはありますか?
相手のMACアドレスはわかっています。

教えてくださいm(__)m

Aベストアンサー

どのような環境の話なのかがご質問だけだと不明なので、とりあえず今回はWindowsのLAN環境で時々競合が起こる、というのを前提で話を進めます。

まず時々競合が起こるという場合の可能性として考えられるのは、片方のhostにサーバーから自動的にIPアドレスを割り当てられている状態で、他方のhost(恐らくプリンタなど画面上で競合を確認できない機器)に静的に同じIPアドレスを割り当ててしまった場合が考えられますね。

MACアドレスとIPアドレスの関連を調べるコマンドで思い浮かぶのは「arp」コマンドですね。コマンドプロンプトから「arp -a」と打てばARPエントリ、つまりIPアドレスとMACアドレスのマッピングが見られます。
ただしこのコマンドで「arp -a [IPアドレス]」と入力して、MACアドレスを調べるのは出来ますが、逆に「arp -a [MACアドレス]」というのは出来ません。

本来の使い方は今回のような事象が起きる際に備えて、あらかじめ各マシンとMACアドレスの対応(どのIPがどのMACで静的割り当てなのか動的割り当てなのか・・・とか)を調べておくという使い方が多いですね。

そしていざIPアドレス競合が起こった際には、調べておいたARPエントリを元に競合IPに対応しているMACアドレスに対して、一時的に競合しない仮のIPアドレスに変更(arp -s [IPアドレス] [MACアドレス])して競合をとりあえず直し、改めてお互いを動的割り当てに変更するなり、静的割り当てで競合しないIPアドレスに設定しなおすなどの処置とかを行うことになります。

ちなみに競合中にlocalhostからarpを行ってもちゃんと出力されるかどうかは、試したことがないんで不明です。多分普通に出力されるはずなんですけど・・・(^_^;)

さて、今回のご質問ですと誰がIPアドレスを競合させているかを知りたいとのことでしたね。
上記の通りarpコマンドではMACアドレスからIPアドレスを調べることは出来ませんが、代わりに競合IPアドレスに対して『他の競合に関わってないPC』から「tracert [競合IPアドレス]」を試すとか、でなければ「nslookup [競合IPアドレス]」でDNSサーバーに直接問い合わせて名前解決して、どの機器のコンピュータ名が出てくるかを調べるというのも有効かも知れません。

ちなみに下記UPLは「Network View」というネットワーク管理ソフトのサイトで体験版も置いてあります。参考までに・・・

以上、とってもつたない文章で失礼しました。

参考URL:http://www.smisoft.com/product/nv/index.html

どのような環境の話なのかがご質問だけだと不明なので、とりあえず今回はWindowsのLAN環境で時々競合が起こる、というのを前提で話を進めます。

まず時々競合が起こるという場合の可能性として考えられるのは、片方のhostにサーバーから自動的にIPアドレスを割り当てられている状態で、他方のhost(恐らくプリンタなど画面上で競合を確認できない機器)に静的に同じIPアドレスを割り当ててしまった場合が考えられますね。

MACアドレスとIPアドレスの関連を調べるコマンドで思い浮かぶのは「arp」コマンドで...続きを読む

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む

Qポートの80と443

こちらのサービス(https://secure.logmein.com/)を利用すると、インターネットを見られるサーバーのポートの80と443が空いていればルータやファイアウォールに特段の設定なく外部からサーバーを操作できるそうですが、逆にサーバーのポートの80や443を空けることには何か危険性があるのでしょうか。

Aベストアンサー

ポート80は一般的なHTTP、ポート443はHTTPSです。
この2つのポートがあいていなければインターネット接続(WEBブラウジング)は出来ません。
ですから、ほとんどのファイアウォールでこのポートは開いています。(インターネット接続を制限している社内LANでは当然閉じていますが)

ちなみに、よく使うポートとしてはFTPで20、21、SMTP(送信メール)で25、受信メールPOP3で110あたりです。セキュリティポリシー上、この辺は制限される事も多いですが、HTTP 80、HTTPS(暗号化用)443は通常閉じません。


危険性?
WEBプロトコルを使ってFTP的なファイル転送(WebDAV)やVPN等も出来るようになっています。当然そこにはある種の危険はつきものですが、WEBブラウジングに伴う危険と大きく変わりません。ウィルス等に感染していればこの2つのポートだけでも相当危険でしょうね。

参考まで。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング