リモートコンピューターのMACアドレスを見つける方法


34

自分のLAN上のホストのIPアドレスを知っています。それを使用して、どのようにして(物理的にアクセスすることなく)MACアドレスを見つけることができますか?

回答:


46

Windowsマシンを使用している場合は、コマンドボックス(Start ... Run ... cmd)を開きping、ターゲットマシンと連絡を取りarp -a、ローカルARPテーブルを表示するコマンドを発行します。 IPアドレスとそれに対応するMACアドレス、たとえば

C:\Users\L3K> arp -a

Interface: 192.168.200.128 --- 0xb
  Internet Address      Physical Address      Type
  192.168.200.1         00-50-7f-c3-5c-88     dynamic
  192.168.200.2         00-50-7f-d1-e1-40     dynamic
  192.168.200.6         00-80-77-dd-a8-6b     dynamic

Linuxベースのシステムを使用している場合は、arp-scanユーティリティをインストールしてから、コマンドラインからネットワークのスキャンを要求できます-私の場合:

sudo arp-scan 192.168.200.0/24

イーサネット以外のインターフェース、たとえばワイヤレスを使用している場合、次のように指定する必要があります。

sudo arp-scan -I wlan0 192.168.200.0/24

使用しているインターフェイスがわからない場合は、以下の適切なコマンドを使用してください。

ifconfig  (For Debian based OS such as Ubuntu)
ip link   (For OS like Arch Linux)

14
他のホストが同じLANセグメントにある場合にのみ機能します。
AnonymousLurker

@ Linker3000、ping以前のポイントは何arp -aですか?
Pacerier

4
@Pacerier-arpコマンドは、IPアドレスをハードウェア(mac)アドレスにマッピングするアドレス解決プロトコルキャッシュの内容を表示します。ターゲットIPアドレスにアクセスしていない場合、キャッシュにはありません。Pingは、これにアクセスしてキャッシュに追加する簡単な方法です。任意のネットワークコマンドを使用できますが、pingは簡単です。
ケビンジョーンズ

19

このコマンドarpingは、iputilsLinux のパッケージに付属しています。pingにIPアドレスを指定すると、LAN上のスイッチとサブネット間でも(少なくともLAN上では)、MACアドレスが返されます。

# arping -c 1 -I eth0 10.100.10.11
ARPING 10.100.10.11 from 10.100.10.25 eth0
Unicast reply from 10.100.10.11 [00:22:68:88:F3:90]  0.594ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

1
Debianには、2つのパッケージがあります:arpingiputils-arpingarpingパッケージには、ネットワークインタフェースが小文字で指定されているが、私の仕事iarping -c 1 -i eth0 10.100.10.11
クロノス

8

試して

getmac /s hostname

または:

getmac /s IP

これを行うには、マシンへの管理者アクセスが必要です。


arp -a管理者アクセスが不要なものだけを使用しないのはなぜですか?
Pacerier

2

管理対象スイッチがある場合、またはルーターでARPテーブルを表示できる場合は、そこから取得できます。

IPを所有しているコンピューターがオンラインの場合、pingを実行して、ローカルARPテーブルからそのMACを取得できます。

他の人のための一般的な注意:この場合、レイヤ3プロトコルがアドレス指定と配信に使用され、MACはレイヤ2であるため、異なるLANにあるマシンのMACアドレスを取得することはできません。


これを行うための「方法」に関する指示を実際に彼に与えなかった。
GregD

2
ルーターで表示する場合は、Webインターフェースに移動して探索します。すべてのルーターは、そのWeb管理者用に異なるレイアウトとページのセットを持っているため、それ以上に具体的にすることはできません。特にMaQleodよりも多くの情報を提供して以来、私には厳しい-1のようです。
いもあたま

2

次のようなものを使用してください:

nmap -n -sP 192.168.146.0/24

paramsをセットアップに適合させた後、これはサブネット全体をスキャンし、IPおよびMACアドレスを提供します



1

マシンとターゲットマシンの両方が同じサブネット上にある場合は、pingを実行するだけで、アドレス解決プロトコル(ARP)を介してIP⟷MACの関連付けを登録できます。

ping -c1 $IP
arp -n | grep $IP

たとえば、次のIPを検索する場合10.1.135.150

# ping -c1 10.1.135.150
PING 10.1.135.150 (10.1.135.150) 56(84) bytes of data.
64 bytes from 10.1.135.150: icmp_seq=1 ttl=64 time=1.88 ms

--- 10.1.135.150 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.883/1.883/1.883/0.000 ms

次に、ARPテーブルを照会します

# arp -n | grep 10.1.135.150
10.1.135.150             ether   8c:ae:4c:f4:4d:e1   C                     eth0

したがって、10.1.135.150のMACは 8c:ae:4c:f4:4d:e1


0

コンピュータ間のトラフィックをルーティングするゲートウェイがない限り、スニファーはこの情報を提供します。


Ofirの回答をありがとう。サブ質問として、問題のホストがダウンしている場合にこれを行う方法はありますか?はい、自分のホストのARPキャッシュを照会することはできますが、残念ながら現在のところ、興味のあるIPが含まれていません。
フレデリック

0

ルーターのarpテーブルをいつでも参照できます(場合によっては、ルーターはarpとdhcpのリーステーブルを組み合わせます)。


まさに私が探しているものですが、それを行うのに役立つツールまたはコマンドは何ですか?
フレデリック

しかし、ちょっと待ってください、私は同じLANにいるので、ルーターはありませんか?
フレデリック

通常のLANには、少なくとも1つのルーターがあります。ルーターに応じて、取得方法のオプションが異なります。その情報を見つけるためにWebインターフェイスを使用してアクセスする必要があるほとんどのホームルーター、より複雑なルーターでは、その情報を取得するためにコンソールポート経由でtelnetまたはクエリを実行できます。
マクラウド

0

別の方法は次のとおりです。

nbtstat -a 192.168.1.1

192.168.1.1目的のアドレスに置き換えます)


また、getmacWindows以外のコンピューターで使用される場合、次のようになります。

エラー:RPCサーバーは利用できません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.