.\" %FreeBSD: src/contrib/ipfilter/man/ipmon.8,v 1.14 2004/06/21 22:53:03 darrenr Exp % .\" $FreeBSD$ .TH ipmon 8 .\" .\" WORD: normal IP filter 通常 IP フィルタ[ipmon.8] .\" .SH 名称 .\"X ipmon \- monitors /dev/ipl for logged packets ipmon \- ログしたパケットのために /dev/ipl をモニタする .SH 書式 .B ipmon [ .B \-abDFhnpstvxX ] [ .B "\-N " ] [ .B "\-o [NSI]" ] [ .B "\-O [NSI]" ] [ .B "\-P " ] [ .B "\-S " ] [ .B "\-f " ] [ .B ] .SH 解説 .LP \fBipmon\fP は、\fB/dev/ipl\fP を読み出すためにオープンし、パケットフィルタ から保存されるデータを待ちます。デバイスから読み出されたバイナリデータを 可読形式で再表示します。ただし、IP番号はホスト名に変換されません。また、 ポート番号もサービス名に変換されません。この出力は、デフォルトで標準出力に 向けられます。もしくは、コマンド行でファイル名が指定された場合は、出力は そのファイルに向けられます。 \fB-s\fP オプションを使用した場合、出力はそちらでなく \fBsyslogd(8)\fP に向けられます。syslog 経由で送られたメッセージでは、年月日は削除されて いますが、ログに記録された時刻 (マイクロ秒含む) は残っています。 .LP ipmon が生成するメッセージは、空白で区切られたフィールドから成ります。 全メッセージに共通のフィールドは次の通りです: .LP 1. パケット受信データ。 メッセージが syslog に送られた場合には抑制されます。 .LP 2. パケット受信時刻。 これは HH:MM:SS.F という形式であり、 時間、分、秒、秒の小数部 (数桁になる可能性があります) です。 .LP 3. パケットが処理されたインタフェース名であり、例えば \fBwe1\fP です。 .LP 4. ルールのグループとルール番号であり、例えば \fB@0:17\fP です。 これらは \fBipfstat -n\fP で閲覧可能です。 .LP 5. 動作。 \fBp\fP は通過を、\fBb\fP はブロックを、\fBS\fP は短いパケットを、 \fBn\fP はどのルールにも当てはまらなかったことを、\fBL\fP はログルールを表します。 フラグ表示の優先順序は S, p, b, n, L です。 大文字の \fBP\fP または \fBB\fP は、 特定のルールではなくグローバルのログ設定により、 パケットがログされたことを意味します。 .LP 6. アドレス。 これは実際には 3 フィールドからなります。 すなわち、送信元アドレスとポート (コンマで区切ります) と、 \fB->\fP というシンボルと、 宛先アドレスとポートです。 例えば \fB209.53.17.22,80 -> 198.73.220.17,1722\fP です。 .LP 7. \fBPR\fP に続いてプロトコルの名前または番号です。 例えば \fBPR tcp\fP です。 .LP 8. \fBlen\fP に続いてヘッダ長とパケット全体の長さです。 例えば \fBlen 20 40\fP です。 .LP パケットが TCP パケットの場合、追加のフィールドがあります。 これは、ハイフンに続き、設定されているフラグに対応する文字から成ります。 文字一覧とフラグについては、ipf.conf のマニュアルページを参照してください。 .LP パケットが ICMP パケットの場合、最後に 2 フィールドがあります。 最初は常に `icmp' であり、 次は ICMP メッセージとサブメッセージタイプであり、スラッシュで区切られます。 例えば \fBicmp 3/3\fP はポート到達不能メッセージです。 .LP \fBipmon\fP を正しく動作させるためには、 カーネルオプション \fBIPFILTER_LOG\fP をカーネルで設定する必要があります。 詳細については \fBoptions(4)\fP を参照してください。 .SH オプション .TP .B \-a すべてのデバイスログファイルをオープンし、ログエントリをそこから読み込み ます。すべてのエントリを同じ出力「デバイス」(標準エラー出力または syslog) に 表示します。 .TP .B \-b パケットの本体をログするルールに対し、 ヘッダの後にパケットの内容を 16 進数で出力します。 .TP .B \-D ipmon をデーモンにします。 ipmon を孤児にするためにサブシェルやバックグラウンドを使用する必要はないので、 際限なく実行可能です。 .TP .B "\-f " 通常 IP フィルタログ記録を表すログ情報を読み込むための、 別のデバイス/ファイルを指定します。 .TP .B \-F 現在のパケットログバッファをフラッシュします。フラッシュされたバイト数は (結果が 0 であっても) 表示されます。 .TP .B \-n 可能であれば、IP アドレスとポート番号をホスト名とサービス名に変換します。 .TP .B "\-N " NAT ログ記録読み込み用にオープンするログファイルを に設定します。 .TP .B \-o 実際にデータを読み込むログファイルを指定します。N - NAT ログファイル、 S - 状態ログファイル、I - 通常 IP フィルタログファイルです。 \fB-a\fP オプションは、\fB-o NSI\fP を指定するのと等価です。 .TP .B \-O どのログファイルを読み込まないかを指定します。これを \fB-a\fP と いっしょに使用することが、もっとも意味のある使い方でしょう。 パラメータとして利用可能な文字は、\fB-o\fP と同様です。 .TP .B \-p ログメッセージ中のポート番号を常に番号で表示し、 \fI/etc/services\fP の検索を試みません。 .TP .B \-P ipmon プロセスの PID をファイルに書き込みます。 デフォルトでは、 \fI/etc/opt/ipf/ipmon.pid\fP (Solaris) か、 \fI/var/run/ipmon.pid\fP (44BSD 以降) か、 その他すべてでは \fI/etc/ipmon.pid\fP です。 .TP .B \-s 読み込んだパケット情報をファイルに保存するのでなく、syslogd 経由で送信 します。 コンパイル時およびインストール時のデフォルトファシリティは \fBsecurity\fP です。 以下で示すレベルが利用できます。 .IP .B LOG_INFO \- アクションが pass や block でなく、 キーワード "log" を用いて記録されたパケット。 .IP .B LOG_NOTICE \- 通過し、記録されたパケット .IP .B LOG_WARNING \- ブロックされ、記録されたパケット .IP .B LOG_ERR \- すでに記録され、「短い」かもしれないと見なされたパケット .TP .B "\-S " 状態ログ記録読み込み用にオープンするログファイルを に設定します。 .TP .B \-t tail(1) と似た方法で入力ファイル/デバイスから読み込みます。 .TP .B \-v TCP ウィンドウ、確認応答、シーケンスフィールドを表示します。 .TP .B \-x パケットデータを 16 進数で表示します。 .TP .B \-X ログヘッダ記録データを 16 進数で表示します。 .SH 診断 \fBipmon\fP は、読み込むデータは、どう保存すべきかについての一貫性が とれていると想定しています。記録されたデータから異常を検知するテスト に失敗した場合、処理を中断します。 .SH 関連ファイル /dev/ipl .br /dev/ipnat .br /dev/ipstate .br /etc/services .SH 関連項目 ipl(4), ipf(8), ipfstat(8), ipnat(8) .SH バグ もし見つけたら、darrenr@pobox.com に E メールを送って下さい。