Linux で MAC アドレスを見つける方法
Linux システムを管理している場合、システムの MAC アドレスを知る必要がある場合があります。この情報は、いくつかの理由で必要になる場合があります。おそらく、DHCP に固定 IP アドレスを割り当ててもらいたいと思うでしょう。このためには、DHCP サーバー構成に IP および MAC アドレスのマッピングを追加できるように、MAC アドレスが必要になります。
この情報は、ネットワーク上の特定のデバイスを許可またはブロックするための MAC アドレス フィルタリングにも必要になる場合があります。または、Wake-on-LAN をセットアップする必要があるかもしれません。理由が何であれ、Linux システムで MAC アドレスを見つけるいくつかの方法があります。
MAC アドレスとは
物理アドレスまたはハードウェア アドレスとも呼ばれる MAC アドレスは、ネットワークに接続されているほぼすべてのデバイスのネットワーク インターフェイス カードに関連付けられている一意の識別子です。
MAC アドレスは OSI モデルの第 2 層 (データ リンク層) で機能し、長さは 48 ビットです。最初の 24 ビットはメーカー ID を表し、最後の 24 ビットはその NIC の一意の ID を表します。IP アドレスと同様に、NIC の MAC アドレスも変更できます。
コマンドライン経由で Linux の MAC アドレスを見つける
Linux で MAC アドレスを見つけるための最も迅速で簡単な方法をいくつか紹介します。
ip コマンドの使用
Linux で ip コマンドを使用して、物理および仮想ネットワーク インターフェイス、ルーティング、ポリシー ルーティング、およびトンネルを表示および構成できます。ネットワーク インターフェイスの追加または削除、IP アドレスの割り当て/削除、ネットワーク インターフェイスの状態の表示、およびさらに便利なタスクの実行が可能です。
次の ip コマンドを使用して、システムの MAC アドレスを見つけることができます。
ip link show
このコマンドは、以下で強調表示されているように、ラベルlink/ether以外の MAC アドレスを含むすべてのネットワーク インターフェイスの詳細を表示します。
特定のネットワーク インターフェイスの MAC アドレスを見つけるには、次の構文を使用します。
ip link show dev
ifconfig コマンドの使用
Linux の ifconfig コマンドを使用すると、ネットワーク インターフェイスのステータスを設定および表示できます。さらに、ネットワーク インターフェイスをアクティブ化および非アクティブ化することもできます。
使用可能なすべてのネットワーク インターフェイスの MAC アドレスを検索するには (非アクティブ化されている場合でも)、次のように-aフラグを指定して ifconfig コマンドを使用します。
ifconfig -a
特定のネットワーク インターフェイスの MAC アドレスを見つけるには、その名前を引数として指定します。
ifconfig interface_name
現在アクティブなすべてのネットワーク インターフェイスの MAC アドレスを確認するには、フラグを指定せずに ifconfig コマンドを使用します。
ifconfig
出力では、以下で強調表示されているように、ラベルetherの横にインターフェイスの MAC アドレスを見つけることができます。
ethtool ユーティリティの使用
ethtool は、ネットワーク ドライバーとネットワーク インターフェイス カードの設定を照会および構成できる Linux ユーティリティです。ethtool ユーティリティを使用して、ネットワーク インターフェイスの MAC アドレスを照会することもできます。
これを行うコマンドは次のとおりです。
ethtool -P interface_name
/sys/class/net ディレクトリから MAC アドレスを取得する
/ sys/class/netディレクトリには、システムに接続されているネットワーク デバイスに関する情報が含まれています。このディレクトリは、 /sys/class/net/ens33や/sys/class/net / ens37 などのネットワーク インターフェイスごとに個別のサブディレクトリを維持します。
各サブディレクトリには、MAC アドレス、ネットワーク デバイスの動作状態、デュプレックス、MTU などのネットワーク属性ごとに異なるファイルが含まれています。MAC アドレス情報は、アドレスファイルに保存されます。
システムに接続されているネットワーク インターフェイスを一覧表示するには、次のコマンドを使用します。
ls /sys/class/net
特定のネットワーク インターフェイスの MAC アドレスを見つけるには、次のコマンド シンタクスを使用します。
cat /sys/class/net/interface_name/address
たとえば、ネットワーク インターフェイスの MAC アドレスを見つけるには、たとえばens33とします。コマンドは次のようになります。
cat /sys/class/net/ens33/address
Linux で GUI 経由で MAC アドレスを見つける方法
日常的なタスクに GUI を好む人は、ディストリビューションで提供されるネットワーク マネージャーを使用して、MAC アドレスをグラフィカルに見つけることができます。Ubuntu と同様に、ネットワーク接続設定を使用できます。
デスクトップを右クリックするか、アプリケーション メニューから、Linux ディストリビューションの[設定]を開きます。左側のパネルから、 [ネットワーク] タブに移動します。これにより、システムに接続されているすべてのネットワーク インターフェイスが表示されます。
ネットワーク インターフェイスの MAC アドレスを見つけるには、その前にあるCog (設定) アイコンをクリックします。
これにより、ネットワーク インターフェイスの詳細を示す新しいウィンドウが開きます。ここでは、ラベルHardware Addressの横に MAC アドレスが表示されます。
このガイドでは、画像に GNOME を使用しましたが、他のデスクトップ環境でも同様の設定があり、ラベルが異なるだけです。
ローカル ネットワーク上の別のシステムの MAC アドレスを見つける
自分の MAC アドレスと同様に、ローカル ネットワーク上の他のシステムの MAC アドレスも見つけることができます。方法は次のとおりです。
arp コマンドの使用
ARP (アドレス解決プロトコル) を使用して、特定の IP アドレスの MAC アドレスを学習できます。ローカル ネットワーク上の別のシステムの MAC アドレスを見つけるには、その IP アドレスを次のように ping します。
ping -c1 <IP address>
ping コマンドは、ARP を使用してリモート システムの MAC アドレスを学習します。この情報を取得すると、ARP テーブルに保存されます。これは、次を使用して表示できます。
arp -n | grep <IP address>
このコマンドは、指定された IP アドレスの MAC アドレスを出力します。
arping ユーティリティの使用
arping ユーティリティは、ネットワーク上のローカル システムの検出と調査に役立ちます。これは、OSI モデルの第 2 層で機能し、ARP 要求をシステムに送信して、システムが動作して応答しているかどうかを判断します。これは、第 3 層で機能する ping ユーティリティとは異なります。
次のコマンドを使用して arping をインストールできます。
Debian ベースのディストリビューションの場合:
sudo apt install arping
RHEL ベースのディストリビューションの場合:
sudo yum install arping
インストールしたら、次のコマンドを使用して IP アドレスを引数として指定することにより、ネットワーク上の別のシステムの MAC アドレスを見つけます。
sudo arping -c 1 <IP address>
システムに複数の NIC がある場合は、 -Iフラグ (大文字の「i」) とそれに続くインターフェース名を使用して、どのインターフェースからリクエストを送信するかを指定できます。
sudo arping -c 1 -I interface_name <IP address>
たとえば、次のコマンドは、ens33インターフェイスからリモート システムの IP アドレス192.168.42.133に 1 つの ARP 要求を送信します。
sudo arping -c 1 -I ens33 192.168.42.133
出力では、MAC アドレスを含む宛先システムからの ARP 応答を受け取ります。
LinuxでMACアドレスを見つけるのは簡単です
Linux で MAC アドレスを見つけるさまざまな方法があるため、便利な方法を選択できます。
Linux と同様に、Windows と macOS でも MAC アドレスを見つけることができます。ただし、コマンドと GUI のセットが異なります。
コメントを残す