iptrace デーモン

目的

インターネット・プロトコルに対して、インターフェース・レベルのパケット・トレースを行います。

構文

iptrace [ -a ] [ -b ] [ -e ] [ -u ] [ -P Protocol_list ] [ -i Interface ] [ -p Port_list ] [ -s Host [ -b ] ] [ -d Host ] [ -L  Log_size ] [ -B ] [ -Q [ -V ] ] [ -T ] [ -S snap_length ]  LogFile

説明

iptrace デーモンは、構成されたインターフェースから受信したインターネット・パケットを記録します。 コマンド・フラグは、デーモンが特定の基準に合ったパケットだけをトレースするようにフィルターを提供します。 パケットのトレースが行われるのは、iptrace デーモンが開始されるローカル・ホストとリモート・ホストの間だけです。

iptrace プロセスがシステム・リソース・コントローラー (SRC) のないコマンド行から開始された場合は、 kill -15 コマンドを使用して停止する必要があります。 それ以外の方法で iptrace が停止されると、iptrace デーモンによってロードされたカーネル・エクステンションはメモリー内でアクティブなままになります。

LogFile 変数は、 iptrace コマンドの結果が送信されるファイルの名前を指定します。 このファイルをフォーマットするには、ipreport コマンドを実行します。 ipreport コマンドは、「TRACING DROPPED xxxx PACKETS」というメッセージを表示することがあります。 ドロップされたパケットのこの数は、ソケット受信バッファー・サイズを超える大きなパケット・サイズが原因で iptrace コマンドがグラブできなかったパケットの数のみを示します。 このメッセージは、パケットがシステムによってドロップされていることを示すものではありません。
注:
  1. LogFile 変数で指定するファイルは、 NFSでマウントされたファイル・システム上に存在していてはなりません。 NFS のマウント済みファイルシステム上の出力ファイルを指定すると、iptrace デーモンは停止することがあります。 この場合、 iptrace デーモンを強制終了できない可能性があるため、システムを再始動する必要があります。
  2. iptrace コマンドが kill -9 コマンドで強制終了された場合は、 iptrace -u コマンドを発行して bpf カーネル・エクステンションをアンロードするか、単にリブートする必要があります。 ビジー・システムでは、 iptrace によって使用されるカーネル・エクステンションがパケットの処理でビジーである可能性があるため、 iptrace -u を複数回発行することが必要になる場合があります。
  3. iptrace コマンドは、 srcmstr コマンドもサポートし、コマンド行から開始および停止することができます。 コマンド行から開始した場合は、 kill -9 コマンドを使用して停止できます。
  4. tcpdump コマンドと iptrace コマンドを 2 つのセッションで同時に実行することはサポートされていません。

フラグ

項目 説明
-a ARP パケットを抑制します。
-b -d フラグまたは -s フラグを、両方向モードに変更します。
-B パケットのキャプチャーのために BPF を使用します。 iptrace コマンドを -B オプションと一緒に使用すると、コマンドが WPAR 内で実行された場合にエラーが返されます。
-d ホスト Host 変数によってホスト指定された宛先に向かうパケットを記録します。 Host 変数は、ホスト名でも小数点付き 10 進数フォーマットによる IP アドレスでも構いません。

-b フラグと共に使用する場合、-d フラグは Host 変数で指定されたホストとの間で送受信されたパケットを記録します。

-e この機能をサポートするネットワーク・アダプター上でプロミスキャス・モードを使用可能にします。
-iinterface Interface 変数で指定されたインターフェース上で受け取られたパケットを記録します。
-L ログ・サイズ このオプションを指定すると、 iptrace は、 LogFile が開始時に LogFile.old にコピーされるように、また、おおよそ Log_size バイトの長さになるように、データをログに記録します。
-P Protocol_list プロトコルのコンマ区切りリストである Protocol_list 変数によって指定されるプロトコルを使用するパケットを記録します。 Protocols 変数には、10 進数か /etc/protocols ファイルからの名前を使用できます。
-p Port_list ポートのコンマ区切りリストである Port_list 変数で指定されたポート番号を使用するパケットを記録します。 Port_list 変数には、10 進数か /etc/services ファイルからの名前を使用できます。
-Q 記録されたパケットをトレースするフィルター・システムを使用可能にします。 トレース機能が有効になると、 AIX® トレース・デーモンが実行され、ネットワーク通信サブシステムに関連する選択されたシステム・イベントが記録されます。
注: トレース機能は、パケット・キャプチャーに Berkeley Packet Filter (BPF) を使用します。
-s ホスト Host 変数によってホスト指定されたソースから受信したパケットを記録します。 Host 変数は、ホスト名でも小数点付き 10 進数フォーマットによる IP アドレスでも構いません。

-b フラグと共に使用する場合、-s フラグは Host 変数で指定されたホストとの間で送受信されたパケットを記録します。

-S スナップショットの長さ -B フラグ ( bpf サポート) を指定して iptrace デーモンを実行するときのスナップ・サイズ (ワイヤーからキャプチャーされる各パケットの量) を指定します。 例えば、コマンド iptrace -S 1500 /tmp/iptrace.dump では、キャプチャーされるパケット・サイズが 1500 バイトに制限されます。 デフォルトは 80 バイトです。
-T tcpdump 互換ダンプ・ファイルを作成します。 出力を読み取るには、 ipreport -T または tcpdump -rを使用します。
-u 始動時に iptrace デーモンによってロードされたカーネル・エクステンション をアンロードします。
-V ソケット・デバッグ・フラグ (SO_DEBUG ソケット・オプション) およびソケット上のトレース・レベルを設定します。 このフラグは、-Q フラグと一緒に使用する必要があります。

終了状況

このコマンドは以下の終了値を返します。

項目 説明
0 デーモンは正常に実行されました。
1
  • インターフェースが見つかりません。
  • pcap_open_live サブルーチンが失敗しました。
  • pcap_datalink サブルーチンが失敗しました。
  • pcap_lookupnet サブルーチンが失敗しました。
  • pcap_loop サブルーチンが失敗しました。
  • ホスト名が見つかりません。
  • アドレスの形式が正しくありません。
  • WPAR はこの操作を許可しませんでした。
  • setpri サブルーチンが失敗しました。
  • fopen サブルーチンが失敗しました。
  • fstat サブルーチンが失敗しました。
  • デーモンがリンク・タイプを検索したときにインターフェースが不明です。
2 トレース・ファイルで fread サブルーチンが失敗しました。
5
  • ソケットの作成が失敗しました。
  • 指定されたファイル名は既に存在しますが、そのファイルはトレース・ファイルではありません。
9
  • プロトコルが /etc/protocols ファイルにありません。
  • サービスが /etc/services ファイルにありません。
  • デーモンがトレース拡張 (netintf) のロードに失敗しました。
  • デーモンがトレース拡張のアンロードに失敗しました。

セキュリティー

RBACユーザーおよびTrustedAIXユーザーに注意:このコマンドは特権操作を実行できます。 特権命令を実行できるのは特権ユーザーのみです。 権限と特権の詳細については、セキュリティの特権コマンドデータベースを参照してください。 このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。

  1. SRC で iptrace デーモンを開始するには、次のコマンドを入力します。
    startsrc -s iptrace -a "/tmp/nettrace"
    SRC で iptrace デーモンを停止するには、次のコマンドを入力します。
    stopsrc -s iptrace
  2. すべてのインターフェース上で、任意のホストとの間で送受信されるパケットを記録するには、次のフォーマットでコマンドを入力します。
    iptrace /tmp/nettrace
    記録されるパケットは、ローカル・ホストとの間で送受信されたパケットです。 すべてのインターフェース上の、ローカル・ホストと他のすべてのホストとの間で送受信されるパケットが記録されます。 トレース情報は、/tmp/nettrace ファイルに収められます。
  3. 特定のリモート・ホストから送信され、あるインターフェース上で受信されるパケットを記録するには、次のフォーマットでコマンドを入力します。
    iptrace -i en0 -p telnet -s airmail /tmp/telnet.trace
    記録されるパケットは、telnet ポートを経由して、リモート・ホスト airmail から en0 インターフェースで受信されます。 トレース情報は、 /tmp/telnet.trace ファイルに入れられます。
  4. 特定のリモート・ホストとの間で送受信されるパケットを記録するには、次のフォーマットでコマンドを入力します。
    iptrace -i en0 -s airmail -b /tmp/telnet.trace
    記録されるパケットは、リモート・ホスト airmail から en0 インターフェース上で受信されます。 トレース情報は、 /tmp/telnet.trace ファイルに入れられます。

ファイル

項目 説明
/usr/sbin/iptrace iptrace コマンドが入っています。