
インターフェースはOSがインターフェースのMACに何を設定してもフレームを送信できると聞いています。また、VMも同じように動作するのではないかと思います。ホストブリッジングもしそうなら、インターフェイスにバインドされた MAC アドレスを使用するのは何でしょうか?
具体的には、70 年代に ROM に焼き付けられた MAC ではなく、ソフトウェア MAC について質問しています。
wlan0 Link encap:Ethernet HWaddr 00:16:ce:01:
これは からの出力行ですifconfig
が、インターフェイス wlan0 は /any/ MAC アドレスで送信でき、私が見ている MAC は何もしません (一部のライブラリにデフォルトを提供する場合を除く)。 VM のホスト ブリッジングではそれを利用して任意の数の IP アドレスで送信しますが、それだけでは終わりません。AP は異なる MAC で要求を受信するため、AP は実際にそれらの VM のそれぞれに一意の IP を割り当てることを許可するとのことです。
- 「仮想」MAC アドレスからパケットを作成するための特別な権限 (Linux) はありますか。
- MACアドレスはルータがどのインターフェースとホストがどのIPを持っているかを追跡する方法であるならば、1つのホストが仮想インターフェースにすべてのIPを要求するのをどうやって止めるのでしょうか。
- ユーザーが仮想MACアドレスを使用するのをどうやって止めるか
- これにはカーネル内の特別なオプション、またはネットワーク スタックに組み込まれる部分が必要ですか?
答え1
MAC アドレスは IEEE によって整理され、標準化されています。イーサネット ネットワークに接続するすべてのデバイスには、割り当てられた固有の MAC アドレスがあります。これにより、任意の 2 つのデバイスが同じネットワーク上に存在し、問題なく通信できます。ただし、これは、トラフィックの監視やスプーフィングなどに使用する MAC アドレスを OS が選択できないという意味ではありません。読むべきことがたくさんあります。ここ
以下の質問への回答
- ルート権限があれば、基本的に何でもできます。カスタム MAC でパケットを送信するには、次の 2 つの方法があります。1 つ目は、ifconfig コマンドを使用してインターフェイスの MAC アドレスを変更する方法です。これは、システム全体のすべてのトラフィックに影響します。2 つ目は、パケットを自分で形成し、特殊なコードを使用してインターフェイスに直接書き込む方法です。たとえば、nmap は、異なる送信元 MAC アドレスを持つポートをスキャンするように指示するときに、この方法を使用します。
- (そして 3) 必要ありません。悪意のあるホストがネットワーク上にいて、MAC アドレスを乗っ取ろうとした場合、深刻な問題が発生する可能性があります。これが、LAN のセキュリティ保護と厳格なアクセス制御ポリシーが重要な理由の 1 つです。私の会社では、デスクトップ LAN スイッチは、各ポートが接続されているコンピューターの MAC アドレスを学習し、そのアドレスが変更されるとポートがシャットダウンされ、使用されていないすべてのポートもシャットダウンされるように構成されています。このポリシーは、夜間のセキュリティ担当者が、当社のサーバーの 1 つと同じ静的 IP で構成されたラップトップを接続しようとし、多くの問題を引き起こした後に実装されました。各ポートを 1 つの MAC アドレスに制限することで、このような事態を (ほぼ) 防止できるようになりました。誰かが MAC を、すでに接続されているコンピューターのアドレスに変更することを知っている場合にのみ、当社のネットワークに侵入できますが、これはほとんどあり得ません。また、すべての IP をすべての MAC に要求することに関しては、スイッチは MAC テーブルを常に更新しているため、有効なホストが新しいパケットを送信するとすぐに、テーブルは正しいポートで更新されます。しかし、悪意のある人物が不正なパケットでネットワークを継続的に汚染していた場合、できることはほとんどありません。