ネットワークデバイスの情報を取得する


ネットワークプログラムを書いている時、本を読んでいる時、ご飯を食べている時などに、
ネットワークデバイスの情報を取得したい場合があります。
時々そういう場面に遭遇することがあるので方法を簡単にまとめたいと思います。

取得にはデバイスのパラメーターを操作できるシステムコールioctlを使用します。

インターフェスのインデックス番号を取得する



コマンド引数でインターフェース名を渡すと情報を表示してくれます。

IPアドレスを取得する

ハードウェアアドレスを取得する

インターフェースに設定されたフラグを取得する


このようにioctlを使用することでデバイスの情報を取得することができます。
取得するだけでなく値を設定することもできます。

例えばネットワークインターフェースをプロミスキャス・モードとして動作させるためにフラグを設定できます。

マニュアルページを見る限り他にも設定できる値があるようです。

僕自身もプロミスキャス・モードとして動作できるように頑張りたいと思います。