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