ルーターの背後からIPのMACアドレスを取得する


8

可能であれば、ルーターの背後にいる場合にIPアドレスのMACアドレスを取得する方法を知りたいです。

IPへのpingを実行してarpテーブルを確認しようとしましたが、唯一のエントリはルーターのMACです。

何か案は?

読んでくれてありがとう。

回答:


20

MACアドレスはルーターによって渡されません。ルーターのARPテーブルを確認する必要があります。

編集:

マシンにアクセスする他の形式がない限り、はい、それは不可能です。ネットワーク(VNC、RDP、SSH)にアクセスできる場合は実行できますが、それ以外の場合は実行できません。

ルーターがWebインターフェースにARPテーブルを提供していない場合は、Telnetを使用できるかどうかを確認できます。多くのホームルーターには、Webインターフェースから隠されているより高度な機能があります。


ルーターのarpテーブルにアクセスできない場合、それは不可能ですか?
Macarse 2009

1
はい。ARPはルーティング不可能なプロトコルと呼ばれ、ローカルネットワークの外に出ることはありません。MACアドレスを確認するには、直接接続されているか、ARPテーブルを列挙するのに十分なリモートアクセスが可能なリンクローカルデバイスを使用している必要があります。
カイルブラントリー

5

ルーターの背後にあるマシンの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として返します。


3

問題のIPがルーターの直接接続されたサブネット上にない場合、MACはルーターのARPテーブルに含まれません。

ARPは、IP接続の最後のホップ(レイヤー2)にのみ表示されます/関連しています。最初のルーティングエンティティと最後のルーティングエンティティの間のすべてがレイヤー3で、送信元エンティティまたは宛先エンティティのARPではなく、直接接続されている次のルーティングエンティティのARPを使用します。


2

あなたが知りたいのは-

サブネットの一部ではない特定のIP(マシン)のMACをどのように見つけることができますか?

サブネット上のすべてのマシン/ IPについて、IP-MACテーブルはローカルのマシン上のARPキャッシュに保存されます。これは、「IP解決の競合」を引き起こすのと同じキャッシュです。簡単に

$ arp -a | grep特定のIP

さて、サブネット外のマシンについて-それを行うシェルフアプリケーションの標準はありません。ICMPメッセージがそれを実行できるかどうかを考えてみましたが、今のところありません。ネットワーキングではなく、階層化が設計されている方法は、意図的に望ましくない動作です。現在より下のレイヤーに関連する情報をエスケープまたは削除するには、ネットワーク全体でIPが使用されるため、MACは使用されません。

他のマシンで協力しているかどうかを確認してください。Macヘッダーをカプセル化して送信する小さなアプリを作成できます。もちろん、他のマシンから協力を得ている場合は、なぜこれだけの労力で単純なifconfig -aそのマシンのすべてのインターフェースに対して、その仕事をします。


1

同じサブネットにあるホストのMACアドレスのみを「見る」ことができます。次に、arpコマンドを使用してすべてのMACアドレスを一覧表示できます。

arp -a

または単一のIPアドレスの場合:

arp -a 192.168.0.1

私はルーターの背後にいると言ったので、同じサブネットにはいません。
Macarse 2009

0

リモートPC、またはリモートネットワーク上のPCにアクセスできる場合は、WMIを使用するか、さまざまなアプリを実行してMACアドレスを取得できます。MACアドレスを取得する他の方法は考えられません。

JR


いいえ、サブネットへのアクセス権はありません:(
Macarse 2009


0

他の回答で人々が言っ​​たように、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 

-2

namp Intense Scanを試してください: nmap -T4 -A -v IP-address


1
質問を理解していないか、何について話しているのかわかりません。このコマンドがルーターの反対側のMACアドレスを表示することを示唆する証拠はありません。それが機能したとしても、それがどのように機能するかについての情報が欠落しているので、それは良い答えではなかっただろう。
kasperd

-2

ルーターについてはわかりませんが、IPアドレスがあれば、nmapを使用してローカルホストでもMACアドレスを取得できます。ルーターから取得する必要があるのはなぜでしょうか。OSがLinuxの場合、macchangerや他の多くのアプリを使用できるため、idiaを使用しないのはなぜですか。


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