何度となく実装しているはずだがいつもやりかたが思い出せなくなって時間を無駄にしている気がするので、ここにメモ。 ifconfigコマンドで出てくるようなネットワークインターフェースの情報を直接取得したいときにはどうするか?(Linux限定) まずはインターフェースのアドレスなどの情報を取得する方法についてはnetdevice(7)にある。基本的にはソケット(種類は何でもいいらしい)を作ってそのソケットに対してioctlすることになる。 次にインターフェースの送受信したバイト数やパケット数等の情報は/proc/net/devから読んでいるようだ。システムが現在認識しているインターフェースの一覧もここから得ることができる。 余談であるが、netdeviceのマニュアルを読むと、デバイスのマルチキャストMACアドレスを設定したり削除したりする方法が示唆されている(SIOCADDMULTI, SI
![Linux: ifconfigコマンドの実装 - #include <fujita.h>](https://cdn-ak-scissors.b.st-hatena.com/image/square/b7d0ff0115e6361b3d0dc941aa6ec46d02e32d65/height=288;version=1;width=512/https%3A%2F%2Fhfujita.air-nifty.com%2F.shared-cocolog%2Fnifty_managed%2Fimages%2Fweb%2Fogp%2Fdefault.png)