# Capture

  パケットキャプチャを表すオブジェクト

## スーパークラス:

  `Object`

## インクルードしているモジュール:

`Enumerable`

## クラスメソッド:

`open_live(device[, snaplen[, promisc[, to_ms]]])`

  デバイスをオープンして `Capture` オブジェクトを返 します。 snaplen, promisc, to_ms のデフォルト値はそれぞれ 68 オクテット, `true`, 1000 ミリ秒です。

`open_offline(filename)`

  filename で指定されたファイルをオープンして `Capture`オブジェクトを返します。

## メソッド:

`close`

  `Capture`オブジェクトをクローズします。

`datalink`

  データリンクのタイプを表す整数を返します。 (`DLT_EN10MB` 等)

`dispatch([count]) {|packet|...}`

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

  count には処理するパケットの最大数を指定します。 count に -1 を指定するとバッファに入っているパ ケット全てを処理します。count に 0 を指定すると エラーかファイルの終わりかタイムアウトに達するまでパケット を処理します。 count のデフォルト値は -1 です。

`each_packet([count]) {|packet|...}`
`each([count]) {|packet|...}`
`loop([count]) {|packet|...}`

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

  count には処理するパケットの最大数を指定します。 count に負の数を指定するとエラーかファイルの終わ りに達するまでパケットを処理します。count のデフォ ルト値は -1 です。

`snapshot`
`snaplen`

  snapshot の長さを返します。

`setfilter(filter[, optimize])`

  filter で指定された文字列、または`Filter`を フィルタとして設定します。 optimize が `true` の場合は最適化を行 います。optimize のデフォルト値は `true` です。

`stats`

  パケットキャプチャについての統計を含む `Struct` を返します。構造体は以下のメンバを持ちます。

  > `recv`
  >   受信したパケットの数
  > `drop`
  >   取りこぼしたしたパケットの数

fukusima@goto.info.waseda.ac.jp