ipfstat(8)

名称
ipfstat - パケットフィルタ統計とフィルタリストのレポート

書式
ipfstat [ -6aAfghIinosv ] [ -d <device> ] ipfstat -t [ -C ] [ -D <addrport> ] [ -P <protocol> ] [ -S <addrport> ] [ -T <refresh time> ] [ -d <device> ]

解説

ipfstat コマンドはシンボル _fr_flags, _frstats, _filterin, _filterout を用いて /dev/kmem を調べます。 このコマンドが実行できかつ機能しうるためには、/dev/kmem とカーネル そのものを読める必要があります。 カーネルの名前は、デフォルトでは /kernel とつけられています。

ipfstat のデフォルトの動作は、カーネルがフィルタを通して パケットをやりとりする間に蓄積された統計を取り出して表示することです。

オプション

-6  IPv6 用のフィルタリストを、使用可能であれば、表示します。

-a  アカウンティングを行なっているフィルタリストを表示します。 更に、それぞれのルールに対してカウントされたバイト数を表示します。

-A  パケット認証統計を表示します。

-C  -t オプションと組み合わせる場合のみ、本オプションは有効です。 top において、"closed" の状態も表示します。 通常、CLOSE_WAIT のプロトコル状態になった TCP 接続は、表示されません。 本オプションを有効にすると、すべての状態のエントリが表示されます。

-d <device>
    カーネルとのインタフェースを行なう為、/dev/ipl の代わりに、 device を用います。

-D <addrport>
    -t オプションと組み合わせる場合のみ、本オプションは有効です。 top 形式の状態表示対象のエントリを、 終点 IP アドレスとポートが addport 引数にマッチするもののみに限定します。 addrport の指定は ipaddress[,port] という形式です。 ipaddress と port は、数値か文字列 "any" (それぞれ、任意の IP アドレスまたは任意のポートを指定) です。 -D オプションが指定されない場合、-D any,any になります。

-f  フラグメントの状態情報 (統計) と、もしも存在していたら、(カーネル内に) 保存された状態情報を表示します。

-g  設定済みのグループを表示します (アクティブのものと非アクティブのものの両方)。

-h  ルール毎にそれぞれがヒットを記録する回数を表示します。 -i とともに用います。

-i  カーネルの IP 処理の入力側に用いられるフィルタリストを表示します。

-I  「非アクティブ」フィルタリストの詳細を取り出す処理と、 「アクティブ」フィルタリストの詳細を取り出す処理を切り替えます。 -i とともに用いる為のものです。

-n  ルールがプリントされる時にそれぞれの「ルール番号」が示されます。

-o  カーネルの IP 処理の出力側に用いられるフィルタリストを表示します。

-P <protocol>
    -t オプションと組み合わせる場合のみ、本オプションは有効です。 top 形式の状態表示対象のエントリを、 特定のプロトコルにマッチするもののみに限定します。 引数は、プロトコル名 (/etc/protocols で定義されるもの) か、 プロトコル番号です。 本オプションを指定しないと、すべてのプロトコルの状態エントリが指定されます。

-s  パケット/フローの状態情報 (統計のみ)

-sl (カーネル内に) 保存された状態情報が存在すれば、これを表示します。

-S <addrport>
    -t オプションと組み合わせる場合のみ、本オプションは有効です。 top 形式の状態表示対象のエントリを、 始点 IP アドレスとポートが addport 引数にマッチするもののみに限定します。 addrport の指定は ipaddress[,port] という形式です。 ipaddress と port は、数値か文字列 "any" (それぞれ、任意の IP アドレスまたは任意のポートを指定) です。 -S オプションが指定されない場合、-S any,any になります。

-t  状態表の表示を、top(1) がプロセス表を表示する方法で行います。 状態は、何種類かの方法でソート可能です。 本オプションは、ncurses(3) が必要であり、 本オプションが組み込まれていることが必要です。 本オプションは、すべてのオペレーティングシステムで使用可能とは限りません。 top モードの ipfstat で使用可能なキーについての更なる情報は、後述します。

-T <refreshtime>
    -t オプションと組み合わせる場合のみ、本オプションは有効です。 本オプションは、top 形式の状態表示の更新頻度を指定します。 refreshtime は、更新間隔を秒単位で指定し、正整数を指定可能です。 デフォルト (そして最小更新間隔) は 1 です。

-v  冗長モードで起動します。より多くのデバッグ情報を表示します。

概要
ipfstat の役割は、現在のカーネルの統計を表示することです。 この統計は、カーネルに出入りするパケットにいくつかのフィルタが (存在する場合には) 適切に適用される結果として集められたものです。 これは、コマンドラインパラメータが指定されていない時のデフォルトの 動作です。

このコマンドは -i か -o とともに与えられた時は、 その時点でインストールされカーネルに使用されている 適切なフィルタルールリストを、 取り出して表示するでしょう。

TOP 形式の状態表示
-t オプションを使用すると、 ipfstat は top 形式の状態表示モードになります。 このモードでは、 状態表の表示を、top(1) がプロセス表を表示する方法で行います。 -C, -D, -P, -S, -T の コマンドラインオプションを使うことで、 状態エントリの制限と表示更新の頻度を指定可能です。

top モードでは、次のキーを使用して、表示情報を変更可能です:

d を使うと、表示する情報を選択します。

l を使うと、画面を再描画します。

q を使うと、プログラムを終了します。

s を使うと、ソートに使用する基準を変更します。

r を使うと、ソートに使用する基準を反転します。

状態エントリのプロトコル番号・IP パケット数・ バイト数・生存時間で、状態をソート可能です。 デフォルトでは、バイト数でソートします。 状態は、降順でソートされますが、 r キーを使用することで昇順でソート可能です。

TOP 形式の状態表示の制約
現在のところ、始点・終点・プロトコルの各フィルタおよび更新間隔は、 対話的に変更できません。 コマンドラインから実行する必要があります。

画面は最低 80 桁必要ですが、このことはチェックされません。

ソートおよびフィルタの基準にマッチする、 最初の X-5 エントリだけが表示されます (ここで X は画面の行数です。 より多くのエントリを見る方法はありません)。

IPv6 サポートはありません。

関連ファイル
/dev/kmem
/dev/ipl
/dev/ipstate
/kernel

関連項目
ipf(8)

バグ
知られていません。