回答:
MACアドレスはルーターによって渡されません。ルーターのARPテーブルを確認する必要があります。
編集:
マシンにアクセスする他の形式がない限り、はい、それは不可能です。ネットワーク(VNC、RDP、SSH)にアクセスできる場合は実行できますが、それ以外の場合は実行できません。
ルーターがWebインターフェースにARPテーブルを提供していない場合は、Telnetを使用できるかどうかを確認できます。多くのホームルーターには、Webインターフェースから隠されているより高度な機能があります。
ルーターの背後にあるマシンのMACアドレスが表示されることは保証できません。しかし、ネットワークのどこからでもMACアドレスを見つけるのに役立つプロトコルがいくつかあります。たとえば、IPアドレスがわかっているときに他のネットワーク上のWindows PCのMACアドレスを見つけるには、次のコマンドを使用できます。
nbtstat -A <IP Address>
Linuxマシン(sambaがインストールされている)から同じことを行うには、次のコマンドを使用します。
nmblookup -R -S -A <IP Address>
問題のマシンがWindowsマシンではなく、他のサブネットの一部になる方法がない場合。次に、唯一のオプションはルーターのMACアドレステーブルを表示するか、一般的なネットワーク全体のDHCPサーバーがある場合はDHCPログでMACアドレスを表示できます。ただし、ルーターまたはDHCPサーバーにアクセスするには、管理者である必要があります。
したがって、ネットワーク上に多数のWindowsマシンがある場合は、サブネットにない場合でも、それらのMACアドレスを見つけることができます。しかし、ネットワークにLinuxマシンがたくさんある場合、他のネットワークからMACを見つける非常に一般的な方法はありません。
上記の手法は、Linux sambaサーバーでは機能しません。それらは常にMACアドレスを00-00-00-00-00-00として返します。
あなたが知りたいのは-
サブネットの一部ではない特定のIP(マシン)のMACをどのように見つけることができますか?
サブネット上のすべてのマシン/ IPについて、IP-MACテーブルはローカルのマシン上のARPキャッシュに保存されます。これは、「IP解決の競合」を引き起こすのと同じキャッシュです。簡単に
$ arp -a | grep特定のIP
さて、サブネット外のマシンについて-それを行うシェルフアプリケーションの標準はありません。ICMPメッセージがそれを実行できるかどうかを考えてみましたが、今のところありません。ネットワーキングではなく、階層化が設計されている方法は、意図的に望ましくない動作です。現在より下のレイヤーに関連する情報をエスケープまたは削除するには、ネットワーク全体でIPが使用されるため、MACは使用されません。
他のマシンで協力しているかどうかを確認してください。Macヘッダーをカプセル化して送信する小さなアプリを作成できます。もちろん、他のマシンから協力を得ている場合は、なぜこれだけの労力で単純なifconfig -aそのマシンのすべてのインターフェースに対して、その仕事をします。
同じサブネットにあるホストのMACアドレスのみを「見る」ことができます。次に、arpコマンドを使用してすべてのMACアドレスを一覧表示できます。
arp -a
または単一のIPアドレスの場合:
arp -a 192.168.0.1
リモートPC、またはリモートネットワーク上のPCにアクセスできる場合は、WMIを使用するか、さまざまなアプリを実行してMACアドレスを取得できます。MACアドレスを取得する他の方法は考えられません。
JR
デバイスのメーカーを知っていますか?その場合、MACの一部を取得できる可能性があります。
他に考えられる唯一のことはvxlanですが、MACを直接持っているルーターにアクセスするだけの場合よりも、設定が難しいと思います。
他の回答で人々が言ったように、ARPはレイヤー2プロトコルであり、ルーティングできないため、従来の方法でスキャンしてもMACアドレスが返されません。例
nmap -sn target
同じネットワークセグメント上にあるデバイスのMACアドレスのみを提供します。nbtstatやsnmpなどのヘルパーを使用する2つのnmapスクリプトがあります。
NBTSTAT を使用するには、nmapコマンドを実行するターゲットでUDPポート137が開いている必要があります。
nmap -sU --script nbtstat.nse -p 137 target
SNMP このプロトコルは機能している必要があり、ポートが開いていて、ターゲットのMACに関する情報を提供します。またUDPポート161
nmap -sU -p 161 --script=snmp-interfaces target
IPV6アドレスは 、IPv6または同様の(teredo、6to 4など)アドレスからMACを取得するときに機能します。Macの一部が含まれているIPv6アドレスでのみ試しました
nmap -sV -sC target
(これはnmap https://nmap.org/nsedoc/scripts/address-info.htmlからのコマンドです)しかし、それをテストするとき(内部fe80ホストで)、-6が必要なので、
nmap -sV -sC -6 target
namp Intense Scanを試してください: nmap -T4 -A -v IP-address