# Pcaplet

  `Capture`を使うパケット処理ツールの雛形を提供するクラスで す。 使うときは`'pcaplet'` を `require`して下 さい。

  典型的な使い方:

  >     require 'pcaplet'

  >     my_tool = Pcaplet.new
  >     my_tool.each_packet {|pkt|
  >       # pkt について処理を行なうコード
  >     }
  >     my_tool.close

  コマンドラインで指定されたフィルタ、および 以下のコマンドラインオプションを tcpdump と同様に解釈します。

  >     -i -r -c -s -n

  '`-r`' オプションでは、gzipで圧縮されたファイルを読 み込むこともできます。

## スーパークラス:

  `Object`

## クラスメソッド:

`new([option])`

  `Pcaplet`オブジェクトを生成します。コマンドライン の解析とデバイスのオープンが行なわれます。 optionを指定すると、コマンドラインオプションに 追加されます。

## メソッド:

`add_filter(filter)`

  コマンドラインで指定されたフィルタ加えて、さらに filterを追加します。実際にはフィルタを以下のよ うに設定します。

  >     "( current_filter ) and ( filter )"

`each_packet {|packet|...}`
`each {|packet|...}`

  各パケットに対して繰り返します。ブロックには `Packet`クラスかそのサブクラスのインスタンスが渡されま す。

`capture`

  内部で使用している `Capture` オブジェクトを返します。

`close`

  デバイスをクローズします。

fukusima@goto.info.waseda.ac.jp