Diary/2020-3-30
PythonでMACアドレスを扱う
netifacesっていうのを使うのが便利みたい.
import netifaces
で,
netifaces.interfaces()
とかやるとインターフェースのリストが取れる.
名前がわかっている個別のインターフェースについては,
netifaces.ifaddresses('enp3s0f1')
とかすればいい.'enp3s0f1'がインターフェース名.
いくつかの情報がdictに格納されてくる.
イーサネットの情報が欲しければ,
netifaces.ifaddresses('enp3s0f1')[netifaces.AF_LINK]
でアクセスできる.
MACアドレスは,
netifaces.ifaddresses('enp3s0f1')[netifaces.AF_LINK][0]['addr']
とかすると16進の:区切りの文字列で返ってくる.
macaddr_str = netifaces.ifaddresses('enp3s0f1') bytearray([int(x, 16) for x in macaddr_str])
とかすると,バイト列として得られる.