tcpslice(1) FreeBSD 一般コマンドマニュアル

tcpslice

前のページ 上に戻る 次のページ

tcpslice




解説

     tcpslice は、 tcpdump(1)-w フラグを用いて作成されたパケットトレース
     ファイルの一部を切り出すプログラムです。また、以下に示すように、複数のパ
     ケットトレースファイルを結合する事もできます。

     tcpslice の基本機能は、入力ファイルに含まれるパケットのうち、指定された時
     間内のものを stdout に出力する事です。開始時刻および終了時刻の範囲は、コ
     マンド行で指定できます。範囲は指定した時刻自身を含みます。デフォルトで
     は、開始時刻は最初の入力ファイルの一つ目のパケットの時刻です。この時刻を
     first time と呼びます。デフォルトでは、終了時刻は開始時刻の 10 年後です。
     したがって、 tcpslice trace-file というコマンドは単に trace-filestdout に出力します(ファイルには 10 年分のデータがない事を想定していま
     す)。

     時刻の指定にはいくつかの方法があります。ひとつは sssssssss.uuuuuu の形を
     とる Unix 時刻形式を用いる方法です (これは、 tcpdump(1)-tt フラグで指
     定される形式です)。例えば、 654321098.7654 は、1990 年 9 月 25 日、午後 8
     時 51 分 (PDT) から、 38 秒と 765,400 マイクロ秒後の時刻を示します。

     このマニュアルの例は全て PDT の時刻で示しますが、以下で示すように時刻を表
     示したり解釈したりする場合、 tcpslice は、 tcpdump(1) のファイルがどのタ
     イムゾーンで生成されたかに関わらず、ローカルのタイムゾーンを使用します。
     夏時間の設定は、対象となる日のローカルのタイムゾーンで適切な物が用いられ
     ます。例えば、夏季の時刻には、夏時間の影響を反映し、冬季の時刻には影響し
     ません。

     時刻は first time から(開始時刻を指定する場合)、あるいは開始時刻から(終了
     時刻を指定する場合) の相対的な時刻として指定する事もできます。指定するに
     は秒数の前に `+' を付けます。例えば、 +200 は開始時刻が first time から
     200 秒後であることを示し、ふたつの引数 +200 +300first time から 200
     秒後から、 first time から 500 秒後までの範囲を示します。

     時刻は、年 (y)、月 (m)、日 (d)、時 (h)、分 (m)、秒 (s)、マイクロ秒 (u) で
     指定する事もできます。例えば、上記の Unix 時刻 654321098.7654 は、
     90y9m25d20h51m38s765400u と指定する事もできます。

     この形式で時刻を指定した場合、省略されたフィールドのデフォルト値は以下の
     ようになります。最初に指定されたフィールドより 大きい単位の省略されたフィ
     ールドについてのデフォルト値は、 first time (開始時刻を指定する場合) また
     は開始時刻(終了時刻を指定する場合)と同じ値となります。最初に指定された
     フィールドより 小さい単位の省略されたフィールドについてのデフォルト値はゼ
     ロとなります。例えば、入力ファイルの first time が Unix 時刻で上記の値、
     すなわち、1990 年 9 月 25 日、午後 8 時 51 分 (PDT) から 38 秒と 765,400
     マイクロ秒後としましょう。この時、同じ日の 午後 9 時 36 分 (PDT) ちょうど
     を指定するには、 21h36m と表す事ができます。午後 9 時 36 分 (PDT) から翌
     日の午前 1 時 54 分 (PDT) までを指定するには、 21h36m 26d1h54m と表す事が
     できます。

     ymdhmsu 形式を使用する時にも相対時刻で指定する事ができます。この時、省略
     されたフィールドの単位が指定された最初のフィールドより 大きい単位ならば、
     デフォルト値は 0 となり、省略されたフィールドの単位が指定された最初のフィ
     初のファイルの最後のパケットの時刻の直後に変更し、次のファイルを処理し、
     以降これを繰り返します。したがって、時間順にならんでいないパケットを含む
     複数のファイルをまとめる事は できません。与えられたファイルのうち、先に処
     理されたファイルより新しいパケットに対してのみ処理されます。この機構によ
     りひとつのパケットが複数回出力に現れる事を防ぐ事ができます。


オプション

     -R, -r, -t のいずれかが指定された場合、 tcpslice は、各入力ファイルの最初
     および最後のパケットの時刻を表示して終了します。これらの 3 個のオプション
     のうち、1 つだけを指定することができます。

     以下のオプションが指定できます:

     -d      指定された範囲の開始時刻と終了時刻を表示して終了します。このオプ
             ションは、指定した範囲が想定している時間と本当に一致しているかど
             うかを確認するのに有効です。 -R, -r, -t のいずれかが指定された場
             合、それらに相当する形式で時刻を表示します。指定がない場合は、内
             部形式 (-R) となります。

     -R      各入力ファイルの最初および最後のパケットの時刻を内部形式 (つま
             り、 sssssssss.uuuuuu の形式) で表示します。

     -r      -R と同じですが、 date(1) と同様の、読みやすい形式で時刻を表示し
             ます。

     -t      -R と同じですが、時刻を tcpslice 形式、すなわち、上記に示した
             ymdhmsu の形で表示します。

     -w file
             出力を stdout ではなく、 file とします。


関連項目

     tcpdump(1)


作者

     Vern Paxson <vern@ee.lbl.gov>, of Lawrence Berkeley Laboratory, Univer-
     sity of California, Berkeley, CA.


バグ

     数字や `+' で始まるファイル名を入力ファイルとして指定すると、開始/終了時
     刻と間違うことがあります。このようなファイル名は、先頭に `./' をつけて指
     定します。たとえば、 `04Jul76.trace' というファイル名ならば
     `./04Jul76.trace' とします。

     tcpslice は、入力ファイルをくまなく探すためにランダムアクセスを使用するた
     め、 stdin から入力することはできません。

     tcpslice は、出力先が端末 ( isatty(3) で示される) である場合、出力しませ
     ん。これはバグではなく、ユーザの端末にバイナリデータをまき散らすことを防
     ぐための仕様です。つまり、 stdout をリダイレクトするか、 -w により出力
     ファイルを指定しなければなりません。


ABELNET VPSサービス