Linux で MAC アドレスを永久に変更する方法
公開: 2023-04-02すべてのネットワーク インターフェイスには、製造元によって設定された一意の MAC アドレスがあります。 これは、ネットワーク接続が接続エンドポイントを識別する方法です。 Linux では、必要に応じて MAC アドレスを永続的に変更できます。
MAC アドレスとは
MAC アドレスの検索
macchanger を使用して Linux の MAC アドレスを変更する
マックチェンジャーのインストール
macchanger を使用して MAC アドレスを一時的に変更する
MAC アドレスを永続的に変更する方法
GNOME で MAC アドレスを永続的に変更する
気をつけて!
MAC アドレスとは
MAC アドレスは、デバイスを接続エンドポイントとして識別するためにネットワークが識別するために使用される一意のコードです。 これは、ネットワーク インターフェイスの中で「誰が誰なのか」という重要な質問に答えます。
すべてのネットワーク機器には、少なくとも 1 つのネットワーク インターフェイスが組み込まれています。 デスクトップ コンピュータまたはサーバーには、複数のネットワーク カードがインストールされている場合があります。 多くのラップトップには CAT5 ネットワーク ソケットと Wi-Fi カードが付属しており、箱から出してすぐに 2 つのネットワーク インターフェイスを利用できます。
すべてのネットワーク インターフェイスには固有の組み込み識別子があります。 そのデバイスとの通信に使用されるネットワーク プロトコルに関係なく、最低レベルでは、接続はメディア アクセス制御 (MAC) アドレスによって識別されます。 そのため、それらは一意でなければなりません。 ネットワーク インターフェイスに別の MAC アドレスを使用させることを、スプーフィングと呼びます。
MAC アドレスは、6 つの 16 進数で構成されます。 6 つの数字の間にコロン「:」またはハイフン「-」を入れて表記します。 これは、テスト コンピューターの 1 つの MAC アドレスです。
b0:c0:90:58:b0:72
ほとんどの場合、最初の 3 つの数字は、ハードウェアの製造元を表す、組織的に一意の識別子です。 Wireshark の製造元検索ページを使用して OUI をデコードできます。 これは、コンピュータのマザーボード、ネットワーク カード、または Wi-Fi カードの製造元である可能性があることに注意してください。 製造業者は、コンピュータのコンポーネントの多くを購入し、それらを組み立てて完成品にします。そのため、それがコンピュータの製造業者と異なっていても驚かないでください。
MAC アドレスは組み込みであるため、実際に変更することはできません。 できることは、別の MAC アドレスを持つふりをするように Linux システムを構成することです。 ネットワーク上の他のデバイスに関する限り、コンピューターの MAC アドレスはブロードキャストするものであるため、最終結果は同じです。
MAC アドレスの検索
現在の MAC アドレスを調べるには、 link
オブジェクトでip
コマンドを使用できます。 これにより、使用中かネットワークから切断されているかに関係なく、ネットワーク インターフェイスが一覧表示されます。
IP リンク
このコンピューターは、アクティブな Wi-Fi 接続wlan0
と有線イーサネット接続enp3s0
を備えたラップトップです。 有線接続は接続されていないため、非アクティブです。 ラップトップには、デフォルトのループバック接続であるlo
も構成されています。
関連: Linux で ip コマンドを使用する方法
macchanger を使用して Linux の MAC アドレスを変更する
macchanger
ユーティリティを使用すると、ネットワーク インターフェイスの MAC アドレスを柔軟なオプションで変更できます。 特定の MAC アドレスを設定するか、ランダムな MAC アドレスを使用できます。 ハードウェアと同じ 3 つの OUI バイトを使用する新しい MAC アドレスを取得することもできるため、ネットワーク インターフェイスの製造元は変わりません。
マックチェンジャーのインストール
Ubuntu にmacchanger
インストールするには、次のコマンドを使用します。
sudo apt install macchanger
Fedora にmacchanger
インストールするには、次のように入力する必要があります。
sudo dnf install macchanger
Manjaro では、コマンドは次のとおりです。
sudo pacman -S macchanger
ディストリビューションのリポジトリにあるmacchanger
のバージョンによっては、ネットワーク接続がオンラインになるたびに新しい MAC アドレスを作成するかどうかを尋ねる画面が表示される場合があります。 つまり、イーサネット ケーブルを接続するか、Wi-Fi を有効にした場合です。
矢印キーを使用してハイライトを使用したいオプションに移動し、「Enter」を押します。
この方法にはいくつかの便利さがありますが、ここでは「いいえ」を選択します。 使用している MAC アドレスをある程度制御したいと考えています。 また、コンピュータのすべてのネットワーク インターフェイスで MAC アドレスを変更したくない場合もあります。 たとえば、Wi-Fi カードでのみ変更したい場合があります。
macchanger を使用して MAC アドレスを一時的に変更する
使用中のネットワーク インターフェイスの MAC アドレスをリセットすることはできません。 イーサネット接続は接続されておらず、非アクティブであるため、イーサネット接続の MAC アドレスを変更できます。
-r
(ランダム) オプションは、完全にランダムな MAC アドレスを生成します。 MAC アドレスを設定するネットワーク インターフェイスの名前を渡す必要があります。
sudo macchanger -r enp3s0
使用されていた MAC アドレスは、基礎となるハードウェア MAC アドレスまたは永続的な MAC アドレスと同じでした。 新しい MAC アドレスが下部に表示されます。
Wi-Fi カードの MAC アドレスも変更できます。Wi-Fi アダプターを停止した場合は、MAC アドレスを変更してから Wi-Fi アダプターを有効にします。
sudo networkctl down wlan0
sudo macchanger -r wlan0
sudo networkctl up wlan0
ランダムな MAC アドレスが必要ない場合は、 -m
(MAC アドレス オプション) を使用して、小文字の 16 進数のコロン「:」形式で MAC アドレスを指定できます。
sudo macchanger -m ae:f9:9b:31:40:c0 enp3s0
関連: Ubuntu で静的 IP アドレスを設定する方法
MAC アドレスを永続的に変更する方法
それはすべて素晴らしくシンプルですが、再起動すると存続しません.
ただし、 systemd
ユニット ファイルを使用することでそれを実現できます。 ラップトップが起動するたびに、イーサネットと Wi-Fi インターフェイス用の新しい MAC アドレスをラップトップに与えるようにmacchanger
取得します。
-e
(終了) オプションを使用して、MAC アドレスを変更しますが、3 つの OUI バイトは同じままにします。
つまり、スプーフィングされた MAC アドレスは、実際のイーサネットおよび Wi-Fi ハードウェアを製造したのと同じ会社が製造したハードウェアに属しているように見えます。 これにより、認識されたメーカーのハードウェア以外からのパケットを拒否するルーター、ファイアウォール、またはスイッチの問題を回避できます。
2 つのサービスを作成します。 1 つはイーサネット接続用で、もう 1 つは Wi-Fi 接続用です。 1 つのユニット ファイルが各サービスのテンプレートとして機能します。
ユニット ファイルを作成するには、 sudo
を使用して、サービスに必要なベース名でファイルを編集する必要があります。 ファイル名のアットマーク「@」記号は、後で説明するように、サービスの起動時にネットワーク接続の名前に置き換えられます。
MAC アドレスをスプーフィングするため、ユニット ファイルを「[email protected]」と呼んでいます。
sudo gedit /etc/systemd/system/[email protected]
このテキストをユニット ファイルにコピーし、ファイルを保存して、エディターを閉じます。
[ユニット] 説明=%I での MAC アドレスのスプーフィング Wants=network-pre.target Before=network-pre.target BindsTo=sys-subsystem-net-devices-%i.device After=sys-subsystem-net-devices-%i.device [サービス] ExecStart=/usr/bin/macchanger -e %I タイプ=ワンショット [インストール] WantedBy=マルチユーザー.ターゲット
接続ごとにサービスを作成する必要があります。 これを行うには、ユニット名のアットマーク「@」の後ろにネットワーク インターフェイスの名前を追加します。 最初にイーサネット接続を行います。
sudo systemctl enable [email protected]
Wi-Fi 接続についても同じことを行います。
sudo systemctl enable [email protected]
ラップトップを再起動した後、 macchanger
使用して現在の MAC アドレスを確認できます。 sudo
を使用する必要がないことに注意してください。これはmacchanger
使用して MAC アドレス設定を報告するだけであり、変更しないためです。
Macchanger enp3s0
macchanger wlan0
これにより、2 つのネットワーク インターフェースで現在アクティブなスプーフィングされた MAC アドレスと、それらの元の MAC アドレスが表示されます。
ユニット ファイルで-e
(終了) オプションを使用したため、スプーフィングされたアドレスの最初の 3 バイトは、元の MAC アドレスの最初の 3 バイトと同じです。
GNOME で MAC アドレスを永続的に変更する
ほとんどのデスクトップ環境では、新しい MAC アドレスを設定できます。 GNOME では、「設定」を開き、サイドバーから「Wi-Fi」または「ネットワーク」を選択することでこれを行うことができます。
MAC アドレスを設定する接続の横にある歯車のアイコンをクリックし、[ID] タブを選択します。
「MAC アドレス」フィールドに新しい MAC アドレスを入力するか、ドロップダウン メニューから正規の MAC アドレスを選択できます。
「クローン アドレス」ドロップダウン メニューでは、次のいずれかを選択できます。
- Preserve : ブート時に MAC アドレスを保持します。 設定したMACアドレスから変更しないでください。
- Permanent : 正規のハードウェア MAC アドレスを使用します。
- Random : ランダムな MAC アドレスを生成します。
- Stable : ハッシュされた安定した MAC アドレスを生成します。 接続がアクティブになるたびに、同じ偽の MAC アドレスが使用されます。 これは、ハードウェアの MAC アドレスを隠したいが、DHCP ルーターから同じ IP アドレスを取得する必要がある場合に役立ちます。
再起動するか、接続をオフにしてから再度オンにすると、変更が適用されます。
気をつけて!
MAC アドレスの変更は、他人のネットワーク デバイスになりすます場合を除き、違法ではありません。 お住まいの地域では、ネットワーク トラフィックを違法に受信することに対処するための法律が制定されている可能性があります。 たとえば、英国には Computer Misuse Act があり、米国には Computer Fraud and Abuse Act があります。
必ず匿名になりますが、他人のふりをしないでください。
関連: bmon を使用して Linux でネットワーク帯域幅を監視する方法