Filter

Filter はパケットが、ある条件にマッチするかど うかを判定します。Filter は実際には bpf_program へのラッパーとして作られています。 フィルタの記述方法に関しては tcpdump(1) を参照して下さい。

スーパークラス:

Object

クラスメソッド:

compile(expr, capture[, optimize[, netmask]])
new(expr, capture[, optimize[, netmask]])

Filterオブジェクトを生成します。 expr はフィルタの文字列です。captureCapture オブジェクトです。optimize で最適化を行うかどうかを制御します。 netmask によりローカルネットのネットマスク を指定します。

生成された Filtercapture から取り込まれたパケットに対してのみ適用できます。

libpcap-0.5以降 を使用している場合には capture の部分に、以下の値を指定することもできます。

[snaplen, datalink]
配列で必要なパラメータを直接与える
省略 (またはnil)
Ethernetでのデフォルトとみなす ([68, DLT_EN10MB])

メソッド:

self === packet
self =~ packet

packet がこのフィルタにマッチすればtrueを返 します。

~ self

selfではない」という条件を表 すFilterを返します。

self | other

selfまたはother 」という条件を表 すFilterを返します。

self & other

selfかつother 」という条件を表 すFilterを返します。

source

フィルタの元となった文字列を返します。


fukusima@goto.info.waseda.ac.jp