web-dev-qa-db-ja.com

ARPコマンドから正しいMACアドレスを取得するにはどうすればよいですか?

免責事項:Linuxの新機能、Raspbian LightをPi 3で使用。SSHアクセスのみ。

私はping/arpを使用してMACアドレスを探しています:

ping 192.168.1.7
arp 192.168.1.7

それは返します:

Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.1.7              ether   02:0f:b5:ed:9e:5c   C                     eth0

HWaddressは、Windowsで表示されるMACアドレスとは異なります。

ping 192.168.1.7
arp -a 192.168.1.7

これは次の結果になります:

Internet Address      Physical Address      Type
192.168.1.7           c0-ee-fb-ed-9e-5c     dynamic

ネットワークトポロジ

ケーブルのパイ(.27)→スイッチのスイッチ→ルーター(.1)
wifiで電話(.7)→ルーター(.1)
Windows on wifi(.30)→ルーター(.1)

Piに同じMacを返品するにはどうすればよいですか?

注:「ベンダー」の部分が異なるように見えます。それでそれは「ほぼ」正しいですか?

4
Kees C. Bakker

推測:RaspPiはLAN経由でルーターに接続されていますが、「ターゲット」電話とWindows PCはWLAN経由で接続されています。つまり、電話とWindows PCが同じセグメントにあり、ARPが意図したとおりに機能している間は、通常、LANとWLANは同じセグメントにありません。

それらは同じセグメント(同じ/ 24プレフィックス)にあるように見えるので、ルーターはMAC NAT via ebtables 。「スプーフィングされた」MACアドレスはベンダープレフィックスのみが異なり、ベンダープレフィックスが有効でないように見えるという事実もこれを指摘しています。

Windows PCをLAN(ケーブル)経由でルーターに接続してこれをテストし、その場合に報告するMACアドレスを確認できます。

それをテストする別の方法は、ルーターへのrootアクセスを取得し、内部で何が起こっているかを調べることです。

編集

この推測が正しい場合、それは純粋にルーターの問題であり、LinuxとWindowsの問題ではありません。 Windowsは、Windows PCがLAN経由で接続されていて、対象の電話がWLAN経由で接続されている場合にも、「間違った」MACアドレスを検出します。 WLANを介して接続されているすべてのデバイスには、LANを介して接続されているすべてのデバイスの「間違った」MACアドレスが表示されます。その逆。

また、ルーターを無効にするように構成できない限り、「回避」することはできません。その場合、おそらくLANとWLANに異なるサブネットがあり、LANのRaspPiは、WLANのデバイスのMACをまったく認識しません(およびその逆逆)、彼らは互いに通信することができます。

これがネットワーキングの仕組みです。

問題は、なぜ「そもそも「正しい」MACアドレスが必要なのか」です。あなたがする必要はありません。

3
dirkt

arpコマンドは、rpiネットワークインターフェイスの適切なMACアドレスを提供し、次のように確認できます。

ssh [email protected]
Sudo cat /sys/class/net/eth0/address

c0-ee-fb-ed-9e-5cは、One Plus電話のMACアドレスです。

1
GAD3R