Macchanger は Debian 10 でネットワークに接続するまで動作します

Macchanger は Debian 10 でネットワークに接続するまで動作します

私は Macchanger を使用して、自宅のネットワークで MAC スプーフィング機能をテストしようとしています。WiFi に接続していないときは、問題なく動作します。ifconfig を使用してインターフェイスをダウンさせ、Mac を変更してから、問題なく再度起動できます。ifconfig で検証すると、ランダム イーサが表示されるので、問題なく実行できることがわかります。

しかし、WiFi に接続しようとすると、ifconfig を実行すると元の BIA が表示されます。ルーターにログインすると、BIA も登録された MAC アドレスであり、ランダム化されたものではないことがわかります。

そこで私の質問は、どのデフォルト設定が Debian を、私が偽装したアドレスではなく、WiFi インターフェースの BIA に戻す原因になっているのかということです。

NetworkManager.conf ファイルと 00-default.link を変更するよう指示するいくつかのガイドに従って既に試してみましたが、どちらも機能しませんでした。どなたか助けていただければ幸いです。ありがとうございます!

答え1

NetworkManager は、処理するインターフェースのイーサネット MAC アドレスを変更する機能を獲得し、ワイヤレス インターフェースではデフォルトでこれを実行します。これにより、以前にインターフェースの MAC アドレスを変更した他のツールが上書きされます。

イーサネットの接続設定には がプレフィックスとして付き802-3-ethernet.、ワイヤレスの場合は がプレフィックスとして付きます802-11-wireless.。イーサネットの例を示し、その後でワイヤレスとの違いについて説明します。

イーサネット

各接続に関する主な設定は と呼ばれます802-3-ethernet.cloned-mac-address。また、cloned-mac-address表示される内容もNMCLI互換性の理由から、実際のプロパティは内部的に命名されたassigned-mac-address関連するものもいくつかあります:

$ nmcli connection show id Myeth0 |grep mac # permanent MAC was redacted
802-3-ethernet.mac-address:             06:05:04:03:03:01
802-3-ethernet.cloned-mac-address:      --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist:   --

mac-address設定されている場合(通常は設定されています)は、接続がこのNICにのみ適用されることを示します。永続MAC アドレス ( を使用しても取得できますethtool --show-permaddr eth0)mac-address-blacklistは逆で、この MAC アドレスを持つ特定のインターフェイスに適用される一般的な接続を回避します (明らかに、そのうちの 1 つだけを設定する必要があります)。これらは、MAC スプーフィング設定には使用されません。

したがって、いくつかの選択肢があります。

  • NetworkManagerを使用していない

    ただし、たとえば直接wpa_supplicantDHCP クライアントなどです。

  • NetworkManagerにこれ以上干渉しないように依頼する

    NetworkManager に MAC アドレスに一切触れないように指示することができます。

    # nmcli connection down id Myeth0
    # nmcli connection modify id Myeth0 802-3-ethernet.cloned-mac-address preserve
    # ip link set eth0 down #very old NICs don't support changing MAC when up
    # ip link set eth0 address 0A:09:08:07:06:05
    # nmcli connection up id Myeth0
    

    新しく設定された MAC アドレスは、現在の値のまま保持されます。

  • または、NetworkManager にこの作業を実行させ、その前に他のツールを使用する必要がないようにします。

    $ nmcli connection modify id Myeth0 802-3-ethernet.cloned-mac-address 0e:0d:0c:0b:0a:09
    $ nmcli connection down id Myeth0
    $ nmcli connection up id Myeth0
    

    NM は MAC アドレスを指定されたものに変更します。

永続的に戻すには、802-3-ethernet.cloned-mac-addressを設定しますpermanent(または、イーサネットの場合はこれがデフォルトなので空のままにします)。

他にも以下のようなモードがありますランダムまたは安定したここgenerate-mac-address-maskでも使用できます(たとえば、ランダムな MAC を生成するが、常に同じ実際の製造元のものであるように見せるため)

無線

  • デフォルトでは、802-11-wireless.cloned-mac-addressが空の場合、ランダム使用されている。

  • 廃止される可能性のある があり802-11-wireless.mac-address-randomization、以前の設定に影響する可能性があります。ドキュメントではあまり明確ではありませんが、実際には必要ありません。

これらの設定のほとんどは、GUI アプレットにも表示されます。「複製された MAC アドレス」フィールドはドロップダウン メニューに限定されません。事前定義された値 (保持、永続、ランダム、安定) の代わりに、フィールドに MAC アドレスを入力できます。

NetworkManagerの設定ファイルを編集する以外に変更方法が分からない追加のWiFi設定があります: wifi.scan-rand-mac-address: に設定はいデフォルトでは、NetworkManagerにWiFiインターフェースのMACアドレスを変更するように指示します。スキャンするときこの設定はグローバルまたはデバイスごとに行われますが、繋がり、まだ接続が有効になっていないため。変更するにはいいえの代わりにはい/etc/NetworkManager/conf.d/devicewlan0.conf次のようなファイルを追加できます。

[device]
match-device=interface-name:wlan0
wifi.scan-rand-mac-address:no

しかし、ドキュメントではこれについてあまり詳しく説明されていません。いずれにしても、この設定は、おそらく、上記の 3preserve番目のオプション (MAC アドレスの設定) ではなく 2 番目のオプション () を選択した場合にのみ必要になります。

参照:

https://developer.gnome.org/NetworkManager/stable/settings-802-3-ethernet.html

https://developer.gnome.org/NetworkManager/stable/settings-802-11-wireless.html

https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html(デバイスセクションを確認してください)

関連情報