Filter はパケットが、ある条件にマッチするかど
うかを判定します。Filter は実際には
bpf_program へのラッパーとして作られています。
フィルタの記述方法に関しては tcpdump(1)
を参照して下さい。
Objectcompile(expr, capture[, optimize[, netmask]])
new(expr, capture[, optimize[, netmask]])
Filterオブジェクトを生成します。
expr はフィルタの文字列です。capture
は Capture オブジェクトです。optimize
で最適化を行うかどうかを制御します。
netmask によりローカルネットのネットマスク
を指定します。
生成された Filter は capture
から取り込まれたパケットに対してのみ適用できます。
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
フィルタの元となった文字列を返します。