2016-04-01 5 views
0

は、我々はそれを参照するには、コマンドインターフェースのためにLinuxインタフェースエイリアス(IFLA_IFALIAS)をプログラマチックに取得する方法は?

ip link set eth0 alias somename 

を使用してインターフェイスにエイリアスを設定することができます。

ip link show eth0 

エイリアスとして設定されます。今私はCプログラムでこれを読んでみたいと思います。私は考えていません。私はgoogle検索を行い、さらにiproute2(このcliの提供者)を調べようとしましたが、役に立たなかったのです。あなたの誰かが私にこれを手伝ってもらえますか?

cli出力をfileとregex solutionに与えることを控えてください。

+0

私のミスは、aliasコマンドを設定すると、誤入力した 「IPリンクセットeth0のエイリアスsomenameの」 –

+0

「aliasコマンドが誤って入力され」は、あなたがあなたの質問を編集したい場合があります。 – jbm

+0

ありがとうございましたjbm、私はコメントしたように、私はそれを修正しました。 –

答えて

1

あなたがCで、あなたには、いくつかのnetlinkプログラミングを行う必要があるでしょうことを行いたい場合は、次の

https://www.infradead.org/~tgr/libnl/

here about interfaces、およびそのセクション "3.5.11 IfAlias" を参照してください。

Netlinkソケットは非常に一般的で、拡張性があり、強力なメカニズムですが、これには複雑さと急な学習曲線があります。ドキュメンテーションは非常にまあまあであり、段階的で広範なチュートリアルに近いものはありません。限られたシンプルなユースケースでは、ここでもいくつかの短いtutosを見つけることができます。したがって、かなりの作業が必要です。

別のオプションは、0 /(とりわけ)作るlibnl *ライブラリに頼るネットリンクソケット、まだないを使用やるのではなく、すべて自分自身でそうすることiproute2のソースコードを、勉強するだろうそれは非常に複雑な1/iproute2実装の再利用可能な外部を作成するのに役立ちません。私はではありませんは、このアプローチを推奨しています:libnl *を使用する以上に難しく、libnl * knowledgeは再利用可能な投資です。

http://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git/tree/

PS:

SO [https://stackoverflow.com/questions/tagged/netlink]オン( "ネットリンク")タグがあります。

+0

ありがとう、私はネットリンクで作業します。これは私が探している解決策に見えます。私にそれを確認させてください。 –

+0

よろしくお願いいたします。今度は、あなたのC言語の経験に応じて、ネットリンクを使ってハッキングするという厳しい日の準備をしてください。 – jbm

関連する問題