.\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)trpt.8 8.2 (Berkeley) 12/11/93 .\" %FreeBSD: src/usr.sbin/trpt/trpt.8,v 1.15 2004/08/07 04:28:55 imp Exp % .\" .\" $FreeBSD$ .\" .Dd December 11, 1993 .Dt TRPT 8 .Os .Sh 名称 .Nm trpt .Nd プロトコルトレースの表示 .Sh 書式 .Nm .Op Fl a .Op Fl f .Op Fl j .Op Fl p Ar hex-address .Op Fl s .Op Fl t .Oo .Ar system Op Ar core .Oc .Sh 解説 .Nm ユーティリティは、socket に .Dq デバッグ情報の記録 を指示した時 .Pf ( Xr setsockopt 2 を参照) に生成される、 .Tn TCP のトレースレコードの内容を表示します。 オプションを指定しない場合には、 .Nm は、システム中のすべてのトレースレコードを、 .Tn TCP コネクションのプロトコル制御ブロック .Pq protorol control block ; Tn PCB によってグループ化して表示します。 .Pp 以下のオプションを使ってこの動作を変更することができます: .Bl -tag -width indent .It Fl a 通常の出力に加えて、 記録された各パケットの送信元と宛先のアドレスを表示します。 .It Fl f トレースが記録される毎にそれを表示します。 ログの終りまで表示すると、しばらく次のレコードを待ちます。 .It Fl j トレースレコードの存在する PCB (protocol control block) のアドレスの一覧を 表示します。 .It Fl p 16 進数で指定されたアドレス .Ar hex-address にある PCB についてのトレースレコードのみを 表示します。 .It Fl s 通常の出力に加えて、パケットのシーケンス情報の詳細を表示します。 .It Fl t 通常の出力に加えて、トレースの各時点でのすべてのタイマの値を表示します。 .El .Pp .Nm は、以下のようにして使ってみて下さい。 問題となっているコネクションを切り分けて、それに関わる socket に対して デバッグ機能を有効にします。 .Xr netstat 1 コマンドの .Fl A オプションを使用して、その socket の PCB のアドレスを見つけます。 そして、 .Fl p オプションと PCB アドレスを引数にして .Nm を実行します。 .Fl f オプションを使うと、一度見つけたトレースログを追い続けることができます。 デバッグオプションを使っている socket がたくさんある場合には、 問題になっている socket にトレースレコードがあるかどうかを .Fl j オプションによって確かめる事ができます。 .Pp デフォルト以外のカーネルやメモリイメージをデバッグしたいときには、 最後の 2 つの引数で指定する事ができます。 .Sh 関連ファイル .Bl -tag -width /boot/kernel/kernel -compact .It Pa /boot/kernel/kernel .It Pa /dev/kmem .El .Sh 関連項目 .Xr netstat 1 , .Xr setsockopt 2 .Sh 診断 .Bl -diag .It no namelist トレースバッファを見つけるのに必要なシンボルがシステムイメージに 見つかりません。 その他のメッセージは読めば分かるでしょう。 .El .Sh バグ 入出力されたデータも表示するべきですが、トレースレコードには 記録されていません。 .Pp 出力フォーマットは非常に難解なので、このマニュアルに説明されて いるべきです。 .Sh 歴史 .Nm ユーティリティは、 .Bx 4.2 で登場しました。