C++プログラム内からLinuxボックスへの/からの着信トラフィックを制御する必要があります。自分のプログラムの中からiptables
と呼ぶことができますが、私はむしろ中間者を切り離して、自分自身にカーネルAPI関数にアクセスしたいと思います。iptables C++ control
私はlibnfnetlinkを使用する必要があると思いますが、APIのドキュメントやサンプルプログラムを見つけることができませんでした。
私が構築する必要があるルールはかなり簡単です。宛先ポートがXなどのパケットをドロップするようなものです。完全なファイアウォールアプリケーションを作成するつもりはありません。
誰かがより良いアプローチを提案したり、いくつかのドキュメントやサンプルアプリケーションへのリンクを提供できますか?私はむしろiptablesコードを読むことを避けたいと思いますが、もし私がより良いリソースを見つけることができなければ、私はしなければならないかもしれないと思います。
これはhttp://stackoverflow.com/questions/109553/how-can- iptables-manage-iptables-on-the-fly – Claris
popen/vforkのオーバーヘッドが気になる場合は、別のプロセスを使ってすべてのiptablesの変更をスタックし、iptables-restoreを使ってしばらくしてコミットしてください。 – anttir