パケット・キャプチャー・ライブラリーのフィルター式

このセクションでは、キャプチャーする必要があるパケットのフィルター式について説明します。

キャプチャーするパケットを指定するために、フィルター式が pcap_compile サブルーチン に渡されます。 フィルター式を指定しない場合は、ネットワーク上のすべてのパケットがキャプチャーされます。 それ以外の場合は、フィルター式が True であるパケットのみがキャプチャーされます。 フィルター式は、1 つ以上のプリミティブで構成される ASCII ストリングです。 プリミティブは通常、1 つ以上の修飾子が前に付いた id (名前または番号) で構成されます。 修飾子には、以下の 3 つのタイプがあります。

項目 説明
type id 名または番号が参照するデバイスの種類を指定します。 可能なタイプは、 hostnet、および portです。 例:host foo,net 128.3,port 20. type 修飾子がない場合は、 host が想定されます。
dir idとの間の特定の転送方向を指定します。 考えられる方向は、 srcdstsrc または dst、および src と dstです。 dir 修飾子を使用するいくつかの例を以下に示します。src foo,dst net 128.3,srcまたは dst port ftp-data. dir 修飾子がない場合は、 src または dst が想定されます。
proto 一致を特定のプロトコルに制限します。 可能な proto修飾子は、 etheriparprarptcp、および udpです。 例としては、以下のものがあります。 ether src foo,arp net 128.3,tcp port 21. proto 修飾子がない場合は、そのタイプと整合性のあるすべてのプロトコルが想定されます。 例:src foo平均ipまたはarp, net bar平均ipまたはarpまたはrarp net barおよびport 53平均tcpまたはudp port 53.

また、 broadcastmulticastlessgreater、および算術式など、パターンに従わない特殊なプリミティブ・キーワードもいくつかあります。 これらのキーワードはすべて、以下の情報で説明されています。