一部のMACアドレスがそれほど頻繁に繰り返されるのはなぜですか?


12

私のアプリケーションは、実行されているクライアントコンピューターのMACアドレスを照会し、サーバーに保存します。サーバーDBを分析すると、一部のMACアドレスが100〜150回繰り返されることがわかりました。すなわち、異なる無関係の組織の異なるクライアントコンピュータは同じMacを持っています。そのため、一部のMACアドレスは非常に「人気」です。また、Googleの結果に何らかの形で表示されます。例:58-2C-80-13-92-63 なぜ起こるのですか?

詳細:私のアプリはWindows上で実行され、クライアントコンピューターはさまざまな組織に属し、さまざまな都市にあります。そして、私のアプリはウェブサーバーに接続し、そこでいくつかの統計(例:MACアドレス)を保存します。


1
それを調べると、「ベンダーが見つかりません」というエラーが表示されます。これは、ソフトウェア由来のMACであり、おそらくルーター/ VPN /ファイアウォールからの何らかの形式の内部NATです。
チョッパー3

ベンダーの管理ミス?「01:23:45:67:89:ab」のワイヤレスMACを備えたD-Linkルーターがありました。
ワリードハムラ

仮想デバイス構成だけ(のxen本の旧バージョンとFEが可能である)MACを変更せずにコピー/ペーストであるかもしれない
デニス・ノルティ

まあ、Xenの新しいバージョンでも、VM NICの作成時に新しいMACの生成を許可しない場合(たとえば、誰かがマシンテンプレートを使用している場合)、これは可能です。ランダム化スクリプトを使用せずにvirshと1つのテンプレートのみを使用する場合は、libvirtでこれを行うこともできます。
スプーラー

回答:


17

特にこの例(58-2C-80-13-92-63)は、Huawei社製のUSBイーサネットチップです。彼らは怠beingで、MACを再利用しているように見えます。Googleの例:

[50413.229125] cdc_ether 2-1:1.0: eth1: register 'cdc_ether' at usb-0000:00:1d.7-1, CDC Ethernet Device, 58:2c:80:13:92:63

[  122.660069] huawei_cdc_ncm 3-3:1.1 wwan0: register 'huawei_cdc_ncm' at usb-0000:00:14.0-3, Huawei CDC NCM device, 58:2c:80:13:92:63

その他は、VMが渡されるケースでもあります。しかし、(他の人が言ったように)最も可能性の高い説明は、安価なハードウェアだということです。

これを確認するには、MACが(一意として)グローバルに一意であるか、ローカルで管理されているかどうかを確認します:https : //en.wikipedia.org/wiki/MAC_address#Address_details

58:2c:80:13:92:63理論上のアドレスは、グローバルに一意である必要があります。

0x58 → 1011000

ただし、VMからのMAC(例:)58:2c:80:13:92:63は次のようにはなりません。

0x52 → 1010010

その他の例:0C-5B-8F-27-9A-64、02-00-4C-4F-4F-50、36-4B-50-B7-EF-2D、02-0C-E7-0B-01- 02、00-16-76-C9-4E-DE。最初に-再びHuaweiのように見えますが、グローバルにユニークでなければなりません。(HuaweiのユーザーはLANの衝突を恐れていませんか?-serverfault.com/questions/462178/…)2番目はループバックです。その他-私は正確に知りません。。一般的なMACのユニークさで(彼らはプログラムで設定されていない場合でも)神話:(ある-最初のオクテットの第二の最下位ビットは、私が見る唯一のものは、1または0であってもよい。
マイクSiomkin

もう一つ奇妙なことは、私は私のコードでループバックをフィルタリングということです:if (adapter.NetworkInterfaceType == NetworkInterfaceType.Tunnel || adapter.NetworkInterfaceType == NetworkInterfaceType.Loopback || adapter.NetworkInterfaceType == NetworkInterfaceType.Unknown) continue;
マイクSiomkin

-2

ローカルネットワークでのみ異なるMACアドレスを表示できます。IPパケットがルーターを通過すると、送信元ホストのMACアドレスがルーターの出力インターフェイスのMACアドレスに変更されます。そのため、同じMACアドレスで多くのIPアドレスを見ることができます(ローカルネットワークからではありません)。


いいえ、これは動作方法ではありません。これらは異なるOSIレイヤーです。リモートIPがルーター経由で到達した場合、ルーターの(ローカル)IPのみをそのMACに関連付けます。ルーターがインターネットへの架け橋のようにしようとする非常にエキゾチックなセットアップを想像できます(誰が本当にそのようなことを望んでいるのでしょうか?)単一MAC
ハーゲン・フォン・Eitzen

あなたが正しいです。さまざまなOSI層があります。しかし、ルーターは低イーサネット層でパケットを取得し、IP層でこのパケットをどう処理するかを決定し、低イーサネット層で次の宛先に再度送信します。そのため、ルーターは独自のMACアドレスでパケットを送信します。物理イーサネット層にはルーティングプロトコルはありません。
ミハイルキルギー

実際、IS-ISはイーサネット層で実行されるルーティングプロトコルです。しかし、システムがゲートウェイのMACアドレスを持っているとゲートウェイを超えて到達可能なマシンを報告することはありません。
MikeyB

OK。しかし、このことについて何serverfault.com/questions/36002/...
ミハイルKhirgiy

1.前にも言ったように、同じMacを異なる都市のクライアントから(1つのLANからではなく)入手します!2.デスクトップクライアントアプリは、それが実行されているコンピューターのアダプターのmacを照会し、SOAP Webサービスを使用してサーバーに送信します。そのため、ルーターのmacにすることはできません。
マイクシームキン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.