trpt コマンド
目的
TCP ソケットについてのプロトコル・トレースを実行します。
構文
説明
trpt コマンドは、伝送制御プロトコル (TCP) トレース・レコードのバッファーを照会します。 このバッファーは、ソケットが setsockopt サブルーチンによりデバッグのためにマーク付けされるときに作成されます。 次に、trpt コマンドは、これらのトレース・レコードの記述を表示します。
注: traceson コマンドを使用して、デーモンのソケット・レベルのデバッグをオンにすることができます。
オプションを指定しなければ、trpt コマンドはシステム内で見付かったトレース・レコードをすべて表示し、 それぞれの TCP/IP 接続プロトコル制御ブロック (PCB) に従ってグループ化します。
trpt コマンドを使用する前に、以下の操作を実行しなければなりません。
- 問題を切り分けて、接続に関係するソケット (複数の場合もある) をデバッグするためのマークを付けます。
- netstat-aAコマンドを使って、これらのソケットに関連するプロトコル制御ブロックのアドレスを見つける。
- その後、 -p フラグを使用して trpt コマンドを実行し、関連するプロトコル制御ブロック・アドレスを指定することができます。 1つのtrptコマンドで複数の- -pフラグを指定できる。
-f フラグを使用すると、一度突き止めたトレース・ログをたどれます。 -j フラグを使用すると、問題のソケットに関してトレース・レコードが存在するかどうかを検査できます。
システム・イメージに正しい記号が入っていないためにトレース・バッファーが見付からなければ、 trpt コマンドは失敗に終わります。
出力フィールド
trpt コマンドが表示する情報は、どのフラグを使用するかによって異なります。 各種の出力に入っているフィールドの定義を以下に示します。
| 項目 | 説明 |
|---|---|
| プロトコル制御ブロック ID | 以下の例に示すように、トレースの対象となるプロトコル・ブロックを識別します。
|
| タイム・スタンプ | 以下の例に示すように、接続が試行される時刻を指定します。
|
| 接続状態 | プロトコル制御ブロックとの接続状態を指定します。
|
| Action | パケット・トレース接続の現在の状況を指定します。 コマンドの出力はアクションに応じて変化します。
実際には次の例のようになります。
実際には次の例のようになります。
|
|
|
| ドロップ | データは前のセグメント内に入っていることを指定します。データは削除されます。 |
| ウィンドウ変数およびシーケンス変数 | ウィンドウ変数とシーケンス変数のタイプは、以下のとおりです。
|
フラグ
| 項目 | 説明 |
|---|---|
| -a | 通常の出力の他に、記録済みの各パケットの送信元アドレスと宛先アドレスの値を表示します。 |
| -f | トレースの発生時にそれをたどり、ログの終わりに達するたびに追加レコードを待機します。 |
| -j | トレース・レコードが存在するプロトコル制御ブロックのアドレスのみをリストします。 |
| -pアドレス | Address 変数に 16 進数で指定されたプロトコル制御ブロックに関連するトレース・レコードのみを表示します。 指定されている各 Address 変数に対して -p フラグを繰り返す必要があります。 |
| -s | 通常の出力の他に、パケット・シーケンス情報の詳細記述を表示します。 |
| -t | 通常の出力の他に、トレース内のポイントごとに、すべてのタイマーの値を表示します。 |
例
- トレース情報、および記録された各パケットの送信元アドレスと宛先アドレスを表示するには、次のように入力します。
これにより、以下のような出力が表示されます。$ trpt -a124b0c: 900 ESTABLISHED:input (src=192.9.201.3,4257, dst=192.9.201.2,102 5)2326e6e5@ad938c02(win=200)<ACK,FIN,PUSH> -> CLOSE_WAIT 900 CLOSE_WAIT:output (src=192.9.201.2,1025, dst=192.9.201.3,425 7)ad938c02@2326e6e6(win=4000)<ACK> -> CLOSE_WAIT 900 LAST_ACK:output (src=192.9.201.2,1025, dst=192.9.201.3,4257) ad938c02@2326e6e6(win=4000)<ACK,FIN> -> LAST_ACK 900 CLOSE_WAIT:user DISCONNECT -> LAST_ACK 900 LAST_ACK:user DETACH -> LAST_ACK 12500c: 800 ESTABLISHED:output (src=192.9.201.2,1024, dst=192.9.201.3,51 2)ad8eaa13@2326e6e5(win=4000)<ACK> -> ESTABLISHED 800 ESTABLISHED:input (src=192.9.201.3,512, \ dst=192.9.201.2,1024) [2326e6e5..2326e727)@ad8eaa13(win=1ef)<ACK,PUSH> -> ESTABLISHED 800 ESTABLISHED:user RCVD -> ESTABLISHED 900 ESTABLISHED:output (src=192.9.201.2,1024, dst=192.9.201.3,51 2)ad8eaa13@2326e727(win=4000)<ACK> -> ESTABLISHED 900 ESTABLISHED:input (src=192.9.201.3,512, \ dst=192.9.201.2,1024) [2326e727..2326e82f)@ad8eaa13(win=1ef)<ACK,PUSH> -> ESTABLISHED 900 ESTABLISHED:user RCVD -> ESTABLISHED 900 ESTABLISHED:output (src=192.9.201.2,1024, dst=192.9.201.3,51 2)ad8eaa13@2326e82f(win=4000)<ACK> -> ESTABLISHED 900 ESTABLISHED:input (src=192.9.201.3,512, \ dst=192.9.201.2,1024) 2326e82f@ad8eaa13(win=1ef)<ACK,FIN,PUSH> -> CLOSE_WAIT 900 CLOSE_WAIT:output (src=192.9.201.2,1024, \ dst=192.9.201.3,512) ad8eaa13@2326e830(win=4000)<ACK> -> CLOSE_WAIT 900 LAST_ACK:output (src=192.9.201.2,1024, dst=192.9.201.3,512)a d8eaa13@2326e830(win=4000)<ACK,FIN> -> LAST_ACK 900 CLOSE_WAIT:user DISCONNECT -> LAST_ACK 900 LAST_ACK:user DETACH -> LAST_ACK $ _ - トレース・レコードを持つプロトコル制御ブロックをリストするには、次のように入力します。
これにより、以下のような出力が表示されます。trpt -j124b0c, 12500c - 単一のプロトコル制御ブロックに関連したトレース・レコードを印刷するには、次のように入力します。
これにより、以下のような出力が表示されます。trpt -p 12500c800 ESTABLISHED:output ad8eaa13@2326e6e5(win=4000)<ACK> -> ESTABLISHED 800 ESTABLISHED:input [2326e6e5..2326e727)@ad8eaa13(win=1ef) <ACK,PUSH> -> ESTABLISHED 800 ESTABLISHED:user RCVD -> ESTABLISHED 900 ESTABLISHED:output ad8eaa13@2326e727(win=4000)<ACK> -> ESTABLISHED 900 ESTABLISHED:input [2326e727..2326e82f)@ad8eaa13(win=1ef) <ACK,PUSH> -> ESTABLISHED 900 ESTABLISHED:user RCVD -> ESTABLISHED 900 ESTABLISHED:output ad8eaa13@2326e82f(win=4000)<ACK> -> ESTABLISHED 900 ESTABLISHED:input 2326e82f@ad8eaa13(win=1ef)<ACK,FIN,PUSH> -> CLOSE_WAIT 900 CLOSE_WAIT:output ad8eaa13@2326e830(win=4000)<ACK> -> CLOSE_WAIT 900 LAST_ACK:output ad8eaa13@2326e830(win=4000)<ACK,FIN> -> LAST_ACK 900 CLOSE_WAIT:user DISCONNECT -> LAST_ACK 900 LAST_ACK:user DETACH -> LAST_ACK $ _