LinuxでMACアドレスを永久に変更する方法
重要なポイント
ターミナルで macchanger ユーティリティと systemctl ユニットファイルを使用して、永続的な新しい MAC アドレスを設定できます。または、GNOME の設定に移動し、Wi-Fi [またはネットワーク] > ID に行き、カスタム MAC アドレスを入力します。
すべてのネットワークインターフェースには、製造業者によって設定された一意のMACアドレスがあります。これは、ネットワーク接続が接続エンドポイントを識別する方法です。Linuxでは、必要に応じてMACアドレスを永久に変更することができます。
MACアドレスとは何ですか?
MACアドレスは、ネットワークが接続エンドポイントとしてデバイスを識別するために使用されるユニークなコードです。それは、ネットワークインターフェース間の「誰が誰か」という重要な問いに答えます。
すべてのネットワーク機器には少なくとも1つのネットワークインターフェースが内蔵されています。デスクトップコンピュータやサーバーには複数のネットワークカードが搭載されている場合があります。多くのノートパソコンにはCAT5ネットワークソケットとWi-Fiカードが備えられており、箱から出してすぐに2つのネットワークインターフェースを利用できます。
すべてのネットワークインターフェースには、ユニークで内蔵された識別子があります。そのデバイスと通信するために使用されるネットワークプロトコルに関係なく、最も低いレベルでは、接続はそのメディアアクセスコントロール(MAC)アドレスによって識別されます。だからこそ、これらはユニークでなければなりません。ネットワークインターフェースが異なるMACアドレスを使用するようにすることをスプーフィングと呼びます。
MACアドレスは六つの16進数で構成されています。6つの数字の間にはコロン "(:)" またはハイフン "(-)" が書かれています。これは私たちのテストコンピュータのMACアドレスです。
b0:c0:90:58:b0:72最も一般的には、最初の3桁の番号は組織的にユニークな識別子であり、ハードウェアメーカーを表しています。OUIはWiresharkのメーカー検索ページを使用してデコードできます。この番号は、あなたのコンピュータのマザーボード、ネットワークカード、またはWi-Fiカードのメーカーである可能性があることに注意してください。メーカーはコンピュータの多くの部品を購入し、それらを組み立てて完成品にするため、あなたのコンピュータのメーカーとは異なる場合があることに驚かないでください。
MACアドレスは組み込まれているため、実際には変更することができません。できますのは、Linuxシステムを構成して異なるMACアドレスを持っているふりをさせることです。ネットワーク上の他のデバイスにとって、あなたのコンピュータのMACアドレスは、そのデバイスがブロードキャストするものと同じなので、最終的な結果は同じです。
MACアドレスの見つけ方
現在のMACアドレスを確認するには、linkオブジェクトを使ってipコマンドを使用できます。これにより、ネットワークインターフェースが使用中かネットワークから切断されているかに関わらず、一覧表示されます。
ip linkこのコンピュータは、アクティブなWi-Fi接続であるwlan0と、ワイヤードのEthernet接続であるenp3s0を持つノートパソコンです。ワイヤード接続は接続されていないため、無効です。このノートパソコンには、デフォルトのループバック接続loも設定されています。
macchangerを使用してLinuxのMACアドレスを変更する
macchangerユーティリティは、柔軟なオプションでネットワークインターフェースのMACアドレスを変更することを可能にします。特定のMACアドレスを設定したり、ランダムなMACアドレスを使用したりできます。また、ハードウェアと同じ3つのOUIバイトを使用する新しいMACアドレスを取得することもできるため、ネットワークインターフェースの製造元は同じままです。
macchangerをインストールする
Ubuntuにmacchangerをインストールするには、次のコマンドを使用します:
sudo apt install macchanger
Fedoraにmacchangerをインストールするには、以下のように入力する必要があります:
sudo dnf install macchangerManjaroでは、コマンドは次の通りです:
sudo pacman -S macchangerあなたのディストリビューションのリポジトリに格納されているmacchangerのバージョンによっては、ネットワーク接続がオンラインになるたびに新しいMACアドレスを作成するかどうか尋ねる画面が表示されることがあります。つまり、Ethernetケーブルを接続するか、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アダプターを有効にすれば、Wi-FiカードのMACアドレスも変更できます。
sudo networkctl down wlan0sudo macchanger -r wlan0sudo networkctl up wlan0ランダムなMACアドレスを使用したくない場合は、-m(MACアドレスオプション)を使用し、コロン「:」形式で小文字の16進数でMACアドレスを指定できます。
sudo macchanger -m ae:f9:9b:31:40:c0 enp3s0MACアドレスを永久に変更する方法
それはすべて素晴らしくシンプルですが、再起動すると生き残りません。
私たちは systemd ユニットファイルを使用することによってそれを達成できます。毎回起動するたびに、macchanger を使用して、私たちのラップトップのイーサネットおよびWi-Fiインターフェースに新しいMACアドレスを割り当てます。
私たちは、MACアドレスが変更されるが、3つのOUIバイトはそのままにしておくために、-e(エンディング)オプションを使用します。
つまり、私たちの偽装したMACアドレスは、実際のEthernetおよびWi-Fiハードウェアを製造したのと同じ会社によって製造されたハードウェアに属しているように見えるということです。これにより、認識されたメーカーのハードウェアから来ないパケットを拒否するルーターやファイアウォール、スイッチに関する問題を回避することができます。
私たちは2つのサービスを作成します。1つはEthernet接続用、もう1つはWi-Fi接続用です。単一のユニットファイルが各サービスのテンプレートとして機能します。
ユニットファイルを作成するには、sudoを使用し、サービスに持たせたい基本名のファイルを編集する必要があります。ファイル名の「@」記号は、サービスが起動する際にネットワーク接続の名前に置き換えられます。
私たちはユニットファイルを「macspoof@.service」と呼んでいます。なぜなら、それはMACアドレスを偽装するからです。
sudo gedit /etc/systemd/system/macspoof@.serviceこのテキストをユニットファイルにコピーし、ファイルを保存してエディタを閉じてください。
[Unit]
Description=Spoofing MAC address on %I
Wants=network-pre.target
Before=network-pre.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device
[Service]
ExecStart=/usr/bin/macchanger -e %I
Type=oneshot
[Install]
WantedBy=multi-user. Target私たちは、各接続に対してサービスを作成する必要があります。これを、単位名の@記号の後にネットワークインターフェースの名前を追加することで行います。まずはEthernet接続を行います:
sudo systemctl enable macspoof@enp3s0.serviceそして、私たちはWi-Fi接続についても同じことをします。
sudo systemctl enable macspoof@wlan0.serviceノートパソコンを再起動した後、macchangerを使って現在のMACアドレスを確認できます。今回は、MACアドレスの設定を変更するのではなく、報告するためだけにmacchangerを使用しているため、sudoを使用する必要はありません。
macchanger enp3s0macchanger wlan0これは、私たちの2つのネットワークインターフェイスにおける現在アクティブな偽装されたMACアドレスとその元のMACアドレスを示しています。
ユニットファイルで-e(エンディング)オプションを使用したため、偽装されたアドレスの最初の3バイトは元のMACアドレスの最初の3バイトと同じです。
GNOMEでMACアドレスを永久に変更する
ほとんどのデスクトップ環境では、新しいMACアドレスを設定することができます。GNOMEでは、「設定」を開き、サイドバーから「Wi-Fi」または「ネットワーク」を選択することでこれを行うことができます。
接続したいMACアドレスを設定するために、隣にある歯車アイコンをクリックし、「アイデンティティ」タブを選択してください。
「MACアドレス」フィールドに新しいMACアドレスを入力するか、ドロップダウンメニューから正規のMACアドレスを選択できます。
「クローンアドレス」ドロップダウンメニューから選択できます:
- 保持: ブート時にMACアドレスを保持します。設定されたMACアドレスから変更しないでください。
- 永続的: 実際のハードウェアMACアドレスを使用します。
- ランダム: ランダムなMACアドレスを生成します。
- 安定: 安定したハッシュ化されたMACアドレスを生成します。接続がアクティブになるたびに、同じ偽のMACアドレスが使用されます。これは、ハードウェアのMACアドレスを隠したいが、DHCPルーターから同じIPアドレスを取得する必要がある場合に便利です。
あなたの変更は、再起動するか、接続をオフにして再度オンにしたときに適用されます。
気をつけて!
MACアドレスを変更することは違法ではありませんが、他人のネットワークデバイスになりすますために変更しない限り違法ではありません。あなたの管轄区域には、不正にネットワークトラフィックを受信することに対処するための法律があるでしょう。たとえば、英国にはコンピュータ不正使用法があり、アメリカにはコンピュータ詐欺および悪用法があります。
どんな手段を使っても匿名になってくださいが、他の誰かを装ってはいけません。












