ipmon - /dev/ipl に記録されたパケットの監視
ipmon [-abDFhnpstvxX] [-N device] [ [o] [NSI]] [-O [NSI]] [-P pidfile] [-S device] [-f device] [filename]
ipmon コマンドは、Solaris IP フィルタ機能に関連するコマンド群の 1 つです。ipfilter(5) を参照してください。
ipmon コマンドは、/dev/ipl を読み取り用に開き、パケットフィルタから保存されるデータを待機します。デバイスから読み取られたバイナリデータは、人間が読める形式で出力されます。ただし、IP アドレスはホスト名にマップされず、ポートもサービス名にマップされません。出力は、標準出力 (デフォルト) またはファイル名 (コマンド行で指定された場合) に送られます。–s オプションが使用された場合、出力は代わりに syslogd(1M) に送られます。syslog を使用して送られるメッセージは、年月日が削除されますが、ログに記録された時間 (マイクロ秒を含む) は含まれたままです。
ipmon によって生成されるメッセージは、スペース区切りのフィールドで構成されます。すべてのメッセージに共通するフィールドは、次のとおりです。
パケットの受信日。これは、メッセージが syslog に送られたときに抑制されます。
パケットの受信時間。これは、時、分、秒、および秒の端数 (数桁になる可能性がある) を表す HH:MM:SS.F という形式です。
パケットが処理されたインタフェースの名前 (たとえば、ib1)。
ルールのグループとルール番号 (たとえば、@0:17)。これらは、ipfstat –in (入力ルールの場合) または ipfstat –out (出力ルールの場合) を使用して表示できます。ipfstat(1M) を参照してください。
アクション。p は通過、b はブロック、s は短いパケット、n はすべてのルールに不一致、L はログルールを表します。
アドレス。これは、実際には発信元のアドレスとポート (コンマ区切り)、->記号、および着信先のアドレスとポートの 3 つのフィールドです。例: 209.53.17.22,80 -> 198.73.220.17,1722。
PR とそれに続くプロトコル名または番号 (たとえば、PR tcp)。
len とそれに続くヘッダー長およびパケットの合計長 (たとえば、len 20 40)。
パケットが TCP パケットである場合は、先頭がハイフンで、そのあとに設定されたフラグに対応する文字が続くフィールドが追加されます。文字とそれらのフラグの一覧については、ipf.conf(4) を参照してください。
パケットが ICMP パケットである場合は、2 つのフィールド (最初が常に icmp、次がスラッシュで区切られた ICMP メッセージおよびサブメッセージタイプ) が末尾に追加されます。たとえば、ポート到達不能メッセージの場合は icmp 3/3 です。
サポートしているオプションは、次のとおりです。
ログエントリを読み取るためにデバイスのログファイルをすべて開きます。すべてのエントリが同じ出力デバイス (stderr または syslog) に表示されます。
パケットの本体を記録するルールについて、ヘッダーのあとにパケットの内容を表す 16 進出力が生成されます。
ipmon がデーモンになるようにします。サブシェルやバックグラウンド処理を使用しなくても、ipmon を孤立したプロセスにして、無期限に実行できます。
通常の IP フィルタログレコードに関するログ情報の読み取り元となる代替デバイス/ファイルを指定します。
現在のパケットログバッファーをフラッシュします。フラッシュされたバイト数が表示されます (結果がゼロの場合を含む)。
使用法に関する情報を表示します。
IP アドレスとポート番号がホスト名とサービス名にマップされます (可能な場合)。
NAT ログレコードを読み取るために開かれるログファイルの入力元または出力先を device に設定します。
実際にデータを読み取るログファイルを指定します。N は NAT ログファイル、S は状態ログファイル、I は通常の IP フィルタログファイルです。–a オプションは、–o NSI を使用することと同等です。
読み取らないログファイルを指定します。これは、通常 –a と組み合わせて使用します。パラメータとして使用できる文字は、–o の場合と同じです。
ログメッセージ内のポート番号を常に番号として出力し、検索を試行しないようにします。
ipmon プロセスの PD をファイルに書き込みます。デフォルトでは、これは /var/run/ipmon.pid です。
読み取られたパケット情報は、ファイルに保存されずに syslogd を介して送られます。コンパイルおよびインストール時のデフォルト機能は local0 です。次のレベルが使用されます。
アクションとして pass または block ではなく log キーワードを使用して記録されたパケット。
通過したことが記録されたパケット。
ブロックされたことが記録されたパケット。
記録され、「短い」とみなすことができるパケット。
状態ログレコードを読み取るために開かれるログファイルの入力元または出力先を device に設定します。
入力ファイル/デバイスを、tail(1) と同じ方法で読み取ります。
TCP の window、ack、および sequence フィールドを表示します。
パケットのデータを 16 進数で表示します。
ログのヘッダーレコードのデータを 16 進数で表示します。
/dev/ipl
/dev/ipnat
/dev/ipstate
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
ipf(1M), ipfstat(1M), ipnat(1M), attributes(5), ipfilter(5)
Oracle Solaris 11.3 での IP サービス品質の管理
ipmon は、読み取ったデータが保存時の形式と一致することを予期し、記録されたデータに異常を検出する表明に失敗した場合は異常終了します。