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を フィルタとして設定します。 optimizetrue の場合は最適化を行 います。optimize のデフォルト値は true です。

stats

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

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


fukusima@goto.info.waseda.ac.jp