パケット・キャプチャー・ライブラリーのフィルター式
このセクションでは、キャプチャーする必要があるパケットのフィルター式について説明します。
キャプチャーするパケットを指定するために、フィルター式が pcap_compile サブルーチン に渡されます。 フィルター式を指定しない場合は、ネットワーク上のすべてのパケットがキャプチャーされます。 それ以外の場合は、フィルター式が True であるパケットのみがキャプチャーされます。 フィルター式は、1 つ以上のプリミティブで構成される ASCII ストリングです。 プリミティブは通常、1 つ以上の修飾子が前に付いた id (名前または番号) で構成されます。 修飾子には、以下の 3 つのタイプがあります。
| 項目 | 説明 |
|---|---|
| type | id 名または番号が参照するデバイスの種類を指定します。 可能なタイプは、 host、 net、および portです。 例:host foo,net 128.3,port 20. type 修飾子がない場合は、 host が想定されます。 |
| dir | idとの間の特定の転送方向を指定します。 考えられる方向は、 src、 dst、 src または dst、および src と dstです。 dir 修飾子を使用するいくつかの例を以下に示します。src foo,dst net 128.3,srcまたは dst port ftp-data. dir 修飾子がない場合は、 src または dst が想定されます。 |
| proto | 一致を特定のプロトコルに制限します。 可能な proto修飾子は、 ether、 ip、 arp、 rarp、 tcp、および 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. |
また、 broadcast、 multicast、 less、 greater、および算術式など、パターンに従わない特殊なプリミティブ・キーワードもいくつかあります。 これらのキーワードはすべて、以下の情報で説明されています。