next up previous contents
Next: フィルタリングルール Up: フィルタリングコマンド Previous: ipfstat

ipftest

フィルタリングルールを書く際に、テストをせずにいきなり運用するのは危険です。 幸い、IPFilter には設定したルールのテストを IPFilter を動かす事無く行う 事が出来るようになっています。ipftest コマンドがそのためのコマンドで、 設定したルールセットに対して、どういうパケットが入って来たらどういう動作を するのかを見る事が出来ます。


   # ipftest  -r ipf.rules  -i data

上の例では、作成したルールセットのファイルが ipf.cof で、テストしたい パケットの特徴を記述したファイルが data です。 例えば、data ファイルは以下のように記述します。


in  on  fxp0  tcp  10.0.0.10,20000  192.168.1.1,80

このデータでは、TCP プロトコルを用いて、インターフェース elxl0 に IP 10.0.0.10 のPort 20000 から、192.168.1.1 の Port 80 への パケットが飛んで来たという事を意味しています。

これを実際にテストを行うと例えば以下のようになり、許可されている (pass)ことが分かります。


# ipftest -r ipf.rules -i data
opening rule file "ipf.rules"
input: in on fxp0 tcp 10.0.0.10,20000 192.168.1.1,80
pass ip 40(20) 6 10.0.0.10,20000 > 192.168.1.1,80
--------------

このように、想定されるパケット一つ一つに対して、ルールセットが正しいか 否かを検査する事が出来る訳です。



Noriyo Kanayama