Reviewed by: The Japanese Manual Project <man-jp@jp.FreeBSD.ORG> Submitted by: Kazuo Horikawa <k-horik@yk.rim.or.jp>
254 lines
8.1 KiB
Groff
254 lines
8.1 KiB
Groff
.\" @(#) %Header: /home/ncvs/src/usr.sbin/tcpdump/tcpslice/tcpslice.1,v 1.4 1995/05/14 15:21:36 gpalmer Exp % (LBL)
|
|
.\" jpman %Id: tcpslice.1,v 1.3 1997/09/07 14:12:55 horikawa Stab %
|
|
.\"
|
|
.\" Copyright (c) 1988-1990 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: (1) source code distributions
|
|
.\" retain the above copyright notice and this paragraph in its entirety, (2)
|
|
.\" distributions including binary code include the above copyright notice and
|
|
.\" this paragraph in its entirety in the documentation or other materials
|
|
.\" provided with the distribution, and (3) all advertising materials mentioning
|
|
.\" features or use of this software display the following acknowledgement:
|
|
.\" ``This product includes software developed by the University of California,
|
|
.\" Lawrence Berkeley Laboratory and its contributors.'' 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
|
.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
|
.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
.\"
|
|
.TH TCPSLICE 1 "14 Oct 1991"
|
|
.SH 名称
|
|
tcpslice \- tcpdump ファイルの分割/結合
|
|
.SH 書式
|
|
.na
|
|
.B tcpslice
|
|
[
|
|
.B \-dRrt
|
|
] [
|
|
.B \-w
|
|
.I file
|
|
]
|
|
.br
|
|
.ti +9
|
|
[
|
|
.I start-time
|
|
[
|
|
.I end-time
|
|
] ]
|
|
.I file ...
|
|
.br
|
|
.ad
|
|
.SH 解説
|
|
.LP
|
|
.I tcpslice
|
|
は、
|
|
\fItcpdump(1)\fP
|
|
の
|
|
.B \-w
|
|
フラグ
|
|
を用いて作成されたパケットトレースファイルの一部を切り出すプログラムです。
|
|
また、以下に示すように、複数のパケットトレースファイルを結合する事も
|
|
できます。
|
|
.LP
|
|
.I tcpslice
|
|
の基本機能は、入力となるファイルに含まれるパケットの時刻が与えられた範囲に
|
|
あるものを
|
|
.I stdout
|
|
にコピーする事です。
|
|
開始時刻および終了時刻の範囲は、コマンド行で指定できます。範囲は指定した
|
|
時刻自身を含みます。開始時刻のデフォルトは最初の入力ファイルの最初の
|
|
パケットの時刻で、これを
|
|
.I first time
|
|
と呼びます。終了時刻のデフォルトは開始時刻の 10 年後です。
|
|
したがって、
|
|
.I tcpslice trace-file
|
|
というコマンドは単に
|
|
.I trace-file
|
|
を \fIstdout\fP にコピーします(ファイルには 10 年分のデータがない事を
|
|
想定しています)。
|
|
.LP
|
|
時刻の指定にはいくつかの方法があります。ひとつは
|
|
.I sssssssss.uuuuuu
|
|
の形式の Unix 時刻形式を用いる方法です
|
|
(これは、\fItcpdump\fP の
|
|
.B \-tt
|
|
フラグで指定される形式です)。
|
|
例えば、
|
|
.B 654321098.7654
|
|
は、1990 年 9 月 25 日、午後 8 時 51 分 (PDT) から、
|
|
38 秒と 765,400 マイクロ秒後の時刻を示します。
|
|
.LP
|
|
このマニュアルの例は全て PDT の時刻で示しますが、
|
|
以下で示すように時刻を表示したり解釈したりする場合、
|
|
.I tcpslice
|
|
は、\fItcpdump\fP のファイルがどのタイムゾーンで生成されたかに関わらず、
|
|
ローカルのタイムゾーンを使用します。
|
|
夏時間の設定は、対象となる日のローカルのタイムゾーンで適切な物が用いられます。
|
|
例えば、夏季の期間の時刻は、夏時間の影響を反映し、冬季の期間の時刻は
|
|
影響しません。
|
|
.LP
|
|
時刻は
|
|
秒数の前に `+' を付けて指定する事により、
|
|
.I first time
|
|
(開始時刻を指定する場合)
|
|
や開始時刻(終了時刻を指定する場合)
|
|
からの相対的な時刻として指定する事もできます。
|
|
例えば、
|
|
.B +200
|
|
は
|
|
.I first time
|
|
から 200 秒後を示し、ふたつの引数
|
|
.B +200 +300
|
|
は
|
|
.I first time
|
|
から 200 秒後から、
|
|
.I first time
|
|
から 500 秒後までを示します。
|
|
.LP
|
|
時刻は、年 (y)、月 (m)、日 (d)、時 (h)、分 (m)、秒 (s)、マイクロ秒 (u) で
|
|
指定する事もできます。例えば、上記で示した Unix 時刻 654321098.7654 は、
|
|
.B 90y9m25d20h51m38s765400u
|
|
と指定する事もできます。
|
|
.LP
|
|
この形式で時刻を指定した場合、省略されたフィールドのデフォルトは以下の様に
|
|
なります。省略されたフィールドが最初に指定されたフィールドより
|
|
.I 大きい
|
|
単位ならば、そのデフォルト値は、
|
|
.I first time
|
|
(開始時刻を指定する場合) または開始時刻(終了時刻を指定する場合)と同じ
|
|
値となります。
|
|
省略されたフィールドが最初に指定されたフィールドより
|
|
.I 小さい
|
|
単位ならば、そのデフォルト値はゼロとなります。
|
|
例えば、入力ファイルの
|
|
.I first time
|
|
の Unix 時刻が上記の値、すなわち、1990 年 9 月 25 日、午後 8 時 51 分 (PDT)
|
|
から 38 秒と 765,400 マイクロ秒後としましょう。この時、同じ日の 午後 9 時
|
|
36 分 (PDT) ちょうどを指定するには、
|
|
.B 21h36m
|
|
と表す事ができます。
|
|
午後 9 時 36 分 (PDT) から翌日の午前 1 時 54 分 (PDT) までを指定するには、
|
|
.B 21h36m 26d1h54m
|
|
と表す事ができます。
|
|
.LP
|
|
.I ymdhmsu
|
|
形式を使用する時にも相対時刻を指定する事ができます。
|
|
この時、省略されたフィールドが指定された最初のフィールドより
|
|
.I 大きい
|
|
単位ならば、デフォルト値は 0 となり、
|
|
省略されたフィールドが指定された最初のフィールドより
|
|
.I 小さい
|
|
単位ならば、デフォルト値は
|
|
.I first time
|
|
あるいは開始時刻と同じ値となります。
|
|
.I first time
|
|
が上記で示した Unix 時刻だった場合、
|
|
.B 22h +1h10m
|
|
はその日の午後 10 時 00 分 (PDT) から 午後 11 時 10 分 (PDT) までを示し、
|
|
.B +1h +1h10m
|
|
は午後 9 時 51 分 (PDT) の 38.7654 秒後から 午後 11 時 01 分 (PDT) の
|
|
38.7654 秒後までを示します。
|
|
.B +0 +1h
|
|
と指定すれば、ファイルの最初から 1 時間分のデータを取り出す事ができます。
|
|
.LP
|
|
.I ymdhmsu
|
|
形式を用いる場合、
|
|
.I m
|
|
が、`月' を示すのか `分' を示すのかが曖昧になります。
|
|
この曖昧さは、以下のように決定されます。もし、
|
|
.I m
|
|
フィールドの後に
|
|
.I d
|
|
フィールドが来た場合、それは月であると判断され、それ以外の場合は、
|
|
分であると判断されます。
|
|
.LP
|
|
複数の入力ファイルが指定された場合、
|
|
.I tcpslice
|
|
はまず、最初のファイルの与えられた時刻の範囲にあるパケットをコピーします。
|
|
次に、範囲の開始時刻を最初のファイルの最後のパケットの時刻の直後に変更し、
|
|
次のファイルを処理し、以降これを繰り返します。したがって、時間的に
|
|
分散したパケットを含むような複数のファイルをまとめる事は
|
|
.I できません。
|
|
与えられたファイルのうち、先に処理されたファイルより新しいパケットに対して
|
|
のみ処理されます。この機構によりひとつのパケットが複数回出力に現れる
|
|
事を防ぐ事ができます。
|
|
.SH オプション
|
|
.LP
|
|
.B \-R,
|
|
.B \-r,
|
|
.B \-t
|
|
のいずれかが指定された場合、
|
|
.I tcpslice
|
|
は、各入力ファイルの最初および最後のパケットの時刻を表示して終了します。
|
|
これらの 3 個のオプションのうち、ひとつだけを指定することができます。
|
|
.TP
|
|
.B \-d
|
|
指定された範囲の開始時刻と終了時刻をダンプして終了します。
|
|
このオプションは、指定した範囲が想定している時間と本当に一致しているかどうかを
|
|
確認するのに有効です。
|
|
.B \-R,
|
|
.B \-r,
|
|
.B \-t
|
|
のいずれかが指定された場合、それらに相当する形式で時刻をダンプします。
|
|
指定がない場合は、加工しない形式 (\fB \-R\fP) が使用されます。
|
|
.TP
|
|
.B \-R
|
|
各入力ファイルの最初および最後のパケットの時刻を加工しない形式
|
|
(つまり、\fI sssssssss.uuuuuu\fP の形式) でダンプします。
|
|
.TP
|
|
.B \-r
|
|
.B \-R
|
|
と同じですが、\fI date(1)\fP で使用される物と同様の、読みやすい形式で
|
|
時刻をダンプします。
|
|
.TP
|
|
.B \-t
|
|
.B \-R
|
|
と同じですが、時刻を
|
|
.I tcpslice
|
|
形式、すなわち、上記に示した
|
|
.I ymdhmsu
|
|
の形でダンプします。
|
|
.TP
|
|
.B \-w
|
|
結果を \fIstdout\fP ではなく、\fIfile\fR に出力します。
|
|
.SH 関連項目
|
|
tcpdump(1)
|
|
.SH 作者
|
|
Vern Paxson (vern@ee.lbl.gov), of
|
|
Lawrence Berkeley Laboratory, University of California, Berkeley, CA.
|
|
.SH バグ
|
|
数字や `+' で始まるファイル名を入力ファイルとして指定すると、
|
|
開始/終了時刻と区別できません。このようなファイル名は、たとえば、
|
|
`04Jul76.trace' というファイル名ならば `./04Jul76.trace' のように、
|
|
先頭に `./' をつけて指定して下さい。
|
|
.LP
|
|
.I tcpslice
|
|
は、入力ファイルをくまなく探すためにランダムアクセスを使用するため、
|
|
\fIstdin\fP から入力を読み込むことはできません。
|
|
.LP
|
|
.I tcpslice
|
|
は、出力を (\fIisatty(3)\fP で示される) 端末へ出力しようとしません。
|
|
これはバグではなく仕様で、ユーザの端末にバイナリデータをまき散らすことを
|
|
防ぎます。つまり、\fIstdout\fP をリダイレクトするか、\fB\-w\fP により
|
|
出力ファイルを指定する必要があります。
|
|
.LP
|
|
.I tcpslice
|
|
は、1 年以上にわたる \fItcpdump\fP のファイルや、
|
|
もともとのパケットの長さが 65,535 バイトを超えるようなパケットの一部を
|
|
含むようなファイル、3 パケットより少ないパケットしかないファイル
|
|
に対しては正しく働かないでしょう。
|
|
これらのファイルを処理しようとすると、
|
|
`couldn't find final packet in file' というエラーメッセージが出力されます。
|
|
これらの問題は、大きなトレースファイルを扱う場合に、
|
|
.I tcpslice
|
|
が処理速度を大きく改善するために使用している補間機能に起因します。
|
|
一方、
|
|
.I tcpslice
|
|
は、如何なるサイズのトレースファイルでも中央のスライスを効率的に取り出す
|
|
ことができ、分断されたトレースファイル (ファイルの中の最後のパケットが
|
|
一部しか存在しない様なファイル、\fItcpdump\fP が強制的に終了させられた
|
|
場合にできる場合がある) に対しても正しく動作します。
|