日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
PCAP-FILTER(7) PCAP-FILTER(7) 名称 pcap-filter - パケットフィルタ構文 解説 pcap_compile() は、フィルタプログラムに文字列をコンパイルするために使用 されます。次に、パケットが、pcap_loop(3), pcap_dispatch(3), pcap_next(3) または pcap_next_ex(3) に供給されるかを決定するために、パ ケットのいくつかのストリームに結果のフィルタプログラムを適用することが できます。 フィルタ表現は、1 つ以上の primitives から成ります。プリミティブは、通 常、1 つ以上の修飾子によって先行される id (名前または数値) から成りま す。次の、3 つの異なった種類の修飾子があります: type type 修飾子は、それを参照しいる id 名か、または、数値が何種類あ るかを記述します。指定でいるタイプは、host, net, port と portrange です。例えば、`host foo', `net 128.3', `port 20', `portrange 6000-6008'。タイプ修飾子がないなら、host は、仮定され ます。 dir dir 修飾子は、id にまたはから特定の転送方向を指定します。指定で きる方向は、src, dst, src or dst, src and dst, ra, ta, addr1, addr2, addr3 と addr4 です。例えば、`src foo', `dst net 128.3', `src or dst port ftp-data'。dir 修飾子がないなら、src または dst が仮定されます。ra, ta, addr1, addr2, addr3 と addr4 修飾子は、 IEEE 802.11 無線 LAN リンクレイヤのためだけに有効です。 proto proto 修飾子は、特定のプロトコルに一致するように制限します。指定 できる proto は次の通りです: ether, fddi, tr, wlan, ip, ip6, arp, rarp, decnet, tcp と udp。例えば、`ether src foo', `arp net 128.3', `tcp port 21', `udp portrange 7000-7009', `wlan addr2 0:2:3:4:5:6'。プロト修飾子がないいなら、タイプに一致しているすべ てのプロトコルが仮定されます。例えば、`src foo' は、(文字が正当 な構文でないことを除いて)、`(ip または arp または rarp) src foo' を意味し、`net bar' は、`(ip または arp または rarp) net bar' を 意味し、`port 53' は、`(tcp または udp) port 53' を意味します。 [`fddi' は、実際 `ether' のためのエイリアスです。パーサは、``指定された ネットワークインタフェースで使用されるデータリンクレベル'' と同一の意味 があるように、それらを取り扱います。FDDI ヘッダは、イーサネットのように 発信元と宛先アドレスを含み、しばしばイーサネットのようなパケットのタイ プを含むので、利用者は、ちょうど類似しているイーサネットフィールドのよ うに、これらの FDDI フィールドでフィルタリングすることができます。ま た、FDDI ヘッダは、他のフィールドを含んでいますが、利用者は、フィルタ表 現でそれらを明示的に名前を付けることはできません。 同様に、`tr' と `wlan' は、`ether' のためのエイリアスです。また、FDDI ヘッダに関する前のパラグラフの文は、トークンリング (Token Ring) と 802.11 の無線 LAN ヘッダに適用します。802.11 のヘッダに対して、宛先アド レスは、DA フィールドであり、送信元アドレスは、SA フィールドです。 BSSID, RA と TA フィールドは、テストされていません。] 上記に加えて、パターンが続かない、いくつかの特別な `primitive' (基本的 な) キーワードがあります: gateway, broadcast, less, greater と演算式。 これらのすべては、以下に説明されます。 より複雑なフィルタ表現は、プリミティブを組み合わせて単語 and, or と not を使用して構築されます。例えば、`host foo and not port ftp and not port ftp-data'. タイプを省くために、同一の修飾子リストは、省略することがで きます。例えば、`tcp dst port ftp or ftp-data or domain' は、`tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain' と正確に同じ です。 許可されるプリミティブは、次の通りです: dst host host パケットの IPv4/v6 宛先フィールドがアドレスまたは名前であるかも しれない host であるなら、真。 src host host パケットの IPv4/v6 発信元フィールドが host であるなら、真。 host host パケットの IPv4/v6 発信元または宛先が host であるなら、真。 上記ホスト表現のいずれも、次のように、キーワード、ip, arp, rarp, または ip6 を前に付加することができます: ip host host これは、次と同等です: ether proto \ip and host host host が、複数の IP アドレスがある名前があるなら、各アドレスは、 一致するかチェックされます。 ether dst ehost イーサネット宛先アドレスが ehost であるなら、真。ehost は、 /etc/ethers からの名前、または "xx:xx:xx:xx:xx:xx", "xx.xx.xx.xx.xx.xx", "xx-xx-xx-xx-xx-xx", "xxxx.xxxx.xxxx", "xxxxxxxxxxxx" の数値 MAC アドレス、または各 "x" は、16 進数の数 字 (0-9、a-f または A-F) です。 ether src ehost イーサネット送信元アドレスが ehost であるなら、真。 ether host ehost イーサネットの発信元または宛先アドレスが ehost であるなら、真。 gateway host パケットがゲートウェイとして host を使用するなら、真。すなわち、 イーサネットの発信元または宛先アドレスが host でしたが、IP 発信 元でも IP 宛先でも host ではなかった。host は、名前でなければな らず、マシンの host-name-to-IP-address 解決メカニズム (ホスト名 ファイル、DNS、NIS など) によって、そしてマシンの host-name-to Ethernet-address 解決メカニズム (/etc/ethers、など) によって見つ けられなければなりません。(同等の表現は、名前または host / ehost のための数値によって使用することができる、 ether host ehost and not host host です。) この構文は、現時点では、IPv6 が有効にされた設定で動作し ません。 dst net net パケットの IPv4/v6 宛先アドレスに net ネットワーク番号があるな ら、真。net は、ネットワークデータベース (/etc/networks, など) またはネットワーク番号からの名前を指定することができます。ドット 付き 4 つ組 (例えば、192.168.1.0)、ドット付き 3 つ組 (例えば、 192.168.1)、ドット付き 2 つ組 (例えば、172.16) または単一番号 (例えば、10) として IPv4 ネットワーク番号を書き込むことができま す。ネットマスクは、(実際にホストと一致することを意味します) ドット付き 4 つ組のための 255.255.255.255、ドット付き 3 つ組のた めの 255.255.255.0、ドット付き 2 つ組のための 255.255.0.0、また は単一番号のための 255.0.0.0 です。IPv6 ネットワーク番号は、完全 に書き込まれなければなりません。ネットマスクは、 ff:ff:ff:ff:ff:ff:ff:ff であるので、IPv6 "ネットワーク" の照合 は、常に実際のホストの照合であり、ネットワークの照合は、ネットマ スク長さを必要とします。 src net net パケットの IPv4/v6 送信元アドレスに net のネットワーク番号がある なら、真。 net net パケットの IPv4/v6 発信元または宛先アドレスに net のネットワーク 番号があるなら、真。 net net mask netmask IPv4 アドレスが特有の netmask がある net と一致するなら、真。src または dst で資格を得るかもしれません。この構文が IPv6 net に対 して有効ではないことに注意してください。 net net/len IPv4/v6 アドレスがネットマスク len のビットの幅で net と一致する なら、真。src または dst で資格を得るかもしれません。 dst port port パケットが ip/tcp, ip/udp, ip6/tcp または ip6/udp であり、port の宛先ポート値があるなら、真。port は、/etc/services (tcp(4P) と udp(4P) を参照) で使用される番号または名前を指定することができま す。名前が使用されるなら、ポート数とプロトコルの両方がチェックさ れます。数値またはあいまいな名前が使用されるなら、ポート番号だけ がチェックされます (例えば、dst port 513 は、tcp/login トラ フィックと udp/who トラフィックの両方を印刷 (表示) し、port domain は、tcp/domain と udp/domain トラフィックを印刷 (表示) し ます)。 src port port パケットに port の発信元ポート値があるなら、真。 port port パケットの発信元または宛先ポートのいずれかが port であるなら、 真。 dst portrange port1-port2 パケットが、ip/tcp, ip/udp, ip6/tcp または ip6/udp で port1 と port2 の間で宛先ポート値があるなら、真。port1 と port2 は、port のための port パラメータと同じ方式で解釈されます。 src portrange port1-port2 パケットに port1 と port2 の間の発信元ポート値があるなら、真。 portrange port1-port2 パケットの発信元または宛先ポートのいずれかが、port1 と port2 の 間であるなら、真。 上記のポートまたはポート範囲表現のいずれかは、次のように、キー ワード、tcp または udp を前に付け加えることができます: tcp src port port ここで、発信元ポートが portである tcp パケットだけと一致します。 less length パケットに length 以下の長さがあるなら、真。これは、次と同様で す: len <= length. greater length パケットに length 以上の長さがあるなら、真。これは、次と同様で す: len >= length. ip proto protocol パケットがプロトコルタイプ protocol の (ip(4P) を参照) IPv4 パ ケットであるなら、真。Protocol は、数値であるか、または名前 icmp, icmp6, igmp, igrp, pim, ah, esp, vrrp, udp または tcp の 1 つを指定することができます。識別子 tcp, udp, and icmp は、また キーワードであり、バックスラッシュ (\) を通してエスケープされな ければならないことに注意してください。このプリミティブは、プロト コルヘッダチェーンを追跡することに注意してください。 ip6 proto protocol パケットがプロトコルタイプ protocol の IPv6 パケットであるなら、 真。このプリミティブは、プロトコルヘッダチェーンを追跡することに 注意してください。 proto protocol パケットがプロトコルタイプ protocol の IPv4 または IPv6 パケット であるなら、真。このプリミティブは、プロトコルヘッダチェーンを追 跡することに注意してください。 tcp, udp, icmp 省略形は、次の通りです: proto p ここで、p は、上記のプロトコルの 1 つです。 ip6 protochain protocol パケットが IPv6 パケットであり、そのプロトコルヘッダチェーンのタ イプ protocol でプロトコルヘッダを含んでいるなら、真。例えば、 ip6 protochain 6 は、プロトコルヘッダチェーンの TCP プロトコルヘッダがあるあらゆ る IPv6 パケットと照合します。パケットは、例えば、IPv6 ヘッダと TCP ヘッダの間の認証ヘッダ、経路制御ヘッダ、または中継点ごとホッ プオプションヘッダを含んでいます。このプリミティブによって出力さ れた BPF コードは、複雑で、BPF オプティマイザコードによって最適 化することができず、カーネルのフィルタエンジンによってサポートさ れないので、これは、多少遅いかもしれず、より多くのパケットを落と すかもしれません。 ip protochain protocol ip6 protochain protocol と同様ですが、これは、IPv4 のためです。 protochain protocol パケットが、プロトコルタイプ protocol の IPv4 または IPv6 パケッ トであるなら、真。このプリミティブは、プロトコルヘッダチェーンを 追跡することに注意してください。 ether broadcast パケットがイーサネットのブロードキャスト (同報通信) のパケットで あるなら、真。ether キーワードは、オプションです。 ip broadcast パケットが IPv4 ブロードキャスト (同報通信) パケットであるなら、 真。それは、すべて 0 とすべて 1 のブロードキャスト (同報通信) の 規約の両方をチェックし、キャプチャが行なわれているインタフェース のサブネットマスクを検索します。 キャプチャが行なわれているインタフェースのサブネットマスクが、利 用可能ではないなら、キャプチャが行なわれているインタフェースに ネットマスクがないので、または、キャプチャが複数のインタフェース でキャプチャすることができる、Linux の "あらゆる" インタフェース で行なわれているので、このチェックは、正しく動作しません。 ether multicast パケットがイーサネットマルチキャストパケットであるなら、真。 ether キーワードは、オプションです。これは、`ether[0] & 1 != 0' 省略表現です。 ip multicast パケットが IPv4 マルチキャストパケットであるなら、真。 ip6 multicast パケットが IPv6 マルチキャストパケットであるなら、真。 ether proto protocol パケットが ether タイプ protocol であるなら、真。Protocol は、数 値または名前 ip, ip6, arp, rarp, atalk, aarp, decnet, sca, lat, mopdl, moprc, iso, stp, ipx または netbeui の 1 つを指定できま す。また、これらの識別子は、キーワードであり、バックスラッシュ (\) を通してエスケープされなければならないことに注意してくださ い。 [FDDI (例えば、`fddi proto arp') の場合に、トークンリング (Token Ring) (例えば、`tr proto arp')、と IEEE 802.11 無線 LANS (例え ば、`wlan proto arp')、それらのプロトコルのほとんどについて、プ ロトコル識別は、通常、FDDI、トークンリング (Token Ring)、または 802.11 ヘッダのの先頭で階層化される、802.2 論理リンク制御 (Logical Link Control; LLC) ヘッダから来ます。 FDDI、トークンリング、または 802.11 のほとんどのプロトコル識別子 のためにフィルタリングするとき、フィルタは、カプセル化されたイー サネットのために、0x000000 の組織単位識別子 (Organizational Unit Identifier; OUI) でいわゆる SNAP 形式の LLC ヘッダのプロトコル ID フィールドだけをチェックします。それは、パケットが 0x000000 の OUI で SNAP 形式であるかどうかをチェックしません。例外は、次 の通りです: iso フィルタは、LLC ヘッダの DSAP (宛先サービスアクセスポイン ト) と SSAP (発信元サービスアクセスポイント) フィールドを チェックします。 stp and netbeui フィルタは、LLC ヘッダの DSAP をチェックします。 atalk フィルタは、0x080007 と AppleTalk etype の OUI で SNAP 形 式のパケットをチェックします。 イーサネットの場合に、フィルタは、それらのプロトコルのほとんどに ついてイーサネットタイプフィールドをチェックします。例外は、次の 通りです: iso, stp と netbeui フィルタは、802.3 フレームをチェックし、次に、それが、 FDDI、トークンリングと 802.11 のためであるように、LLC ヘッダをチェックします。 atalk フィルタは、FDDI、トークンリングと 802.11 のためであるよ うに、イーサネットフレームの AppleTalk etype と SNAP 形式 のパケットをチェックします。 aarp フィルタは、0x000000 の OUI でイーサネットフレームまたは 802.2 SNAP フレームの AppleTalk ARP etype をチェックしま す。 ipx フィルタは、イーサネットフレームの IPX etype、LLC ヘッダ の IPX DSAP、IPX の 802.3-with-no-LLC-header カプセル化と SNAP フレームの IPX etypeをチェックします。 ip, ip6, arp, rarp, atalk, aarp, decnet, iso, stp, ipx, netbeui 省略形は、次の通りです: ether proto p ここで、p は、上記のプロトコルの 1 つです。 lat, moprc, mopdl 省略形は、次の通りです: ether proto p ここで、p は、上記のプロトコルの 1 つです。pcap(3) を使用してい るすべてのアプリケーションは、現在、どのようにこれらのプロトコル を解析するかを知っているわけではないことに注意してください。 decnet src host DECNET 送信元アドレスが、形式 ``10.123''、または DECNET ホスト名 のアドレスである host であるなら、真。[DECNET ホスト名のサポート は、DECNET を実行するように設定される ULTRIX システムでのみ利用 可能です。] decnet dst host DECNET 宛先アドレスが host であるなら、真。 decnet host host DECNET 発信元または宛先アドレスのいずれかが host であるなら、 真。 llc パケットに 802.2 LLC ヘッダがあるなら、真。これは、次を含みます: 生の NetWare-over-802.3 パケットではないタイプフィールドではなく 長さフィールドがあるイーサネットパケット。 IEEE 802.11 データパケット。 トークンリングパケット (チェックは、LLC フレームのため行なわれな い)。 FDDI パケット (チェックは、LLC フレームのために行なわれない)。 Solaris の SunATM のための、LLC カプセル化された ATM パケット。 llc type パケットに 802.2 LLC ヘッダがあり、指定された type タイプがある なら、真。type は、次の 1 を指定できます: i Information (I) PDUs s Supervisory (S) PDUs u Unnumbered (U) PDUs rr Receiver Ready (RR) S PDUs rnr Receiver Not Ready (RNR) S PDUs rej Reject (REJ) S PDUs ui Unnumbered Information (UI) U PDUs ua Unnumbered Acknowledgment (UA) U PDUs disc Disconnect (DISC) U PDUs sabme Set Asynchronous Balanced Mode Extended (SABME) U PDUs test Test (TEST) U PDUs xid Exchange Identification (XID) U PDUs frmr Frame Reject (FRMR) U PDUs inbound パケットは、そのホストによって送信されるのではなく、キャプチャを 実行しているホストによって受信されました。これは、SLIP と ``あら ゆる'' デバイスといくつかの他のデバイスタイプのために使用される ``cooked'' Linux キャプチャモードのように、特定のリンクレイヤタ イプのためだけにサポートされます。 outbound パケットは、そのホストによって受信されつのではなく、キャプチャを 実行しているホストによって送信されました。これは、SLIP と ``あら ゆる'' デバイスといくつかの他のデバイスタイプのために使用される ``cooked'' Linux キャプチャモードのように、特定のリンクレイヤタ イプのためだけにサポートされます。 ifname interface パケットが (OpenBSD または FreeBSD の pf(4) によってログ記録され たパケットにだけ適用する) 指定されたインタフェースから来るように ログ記録されたなら、真。 on interface ifname 修飾子と同義語です。 rnr num パケットが (OpenBSD または FreeBSD の pf(4) によってログ記録され たパケットにだけ適用する) 指定された PF 規則番号と一致しているよ うにログ記録されたなら、真。 rulenum num rnr 修飾子と同義語です。 reason code パケットが指定された PF 理由コードでログ記録されたなら、真。既知 のコードは、次の通りです: (OpenBSD または FreeBSD の pf(4) に よってログ記録されたパケットにだけ適用する) match, bad-offset, fragment, short, normalize と memory。 rset name パケットが (OpenBSD または FreeBSD の pf(4) によってログ記録され たパケットにだけ適用する) 固定された ruleset の指定された PF ruleset 名と一致しているようにログ記録されたなら、真。 ruleset name rset 修飾子と同義語です。 srnr num パケットが (OpenBSD または FreeBSD の pf(4) によってログ記録され たパケットにだけ適用する) 固定された ruleset の指定された PF 規 則番号と一致しているようにログ記録されたなら、真。 subrulenum num srnr 修飾子と同義語です。 action act PF がパケットがログ記録されたとき、指定された動作を取ったなら、 真。既知のアクションは、次の通りです: (OpenBSD または FreeBSD の pf(4) によってログ記録されたパケットにだけ適用する) pf(4), nat, rdr, binat と scrub の後の方のバージョンがある pass と block。 wlan ra ehost IEE E802.11 RA が ehost であるなら、真。RA フィールドは、管理フ レームを除いてすべてのフレームで使用されます。 wlan ta ehost IEEE 802.11TA が ehost であるなら、真。TA フィールドは、管理フ レームと CTS (Clear To Send) と ACK (Acknowledgment) 制御フレー ムを除いて、すべてのフレームで使用されます。 wlan addr1 ehost 最初の IEEE 802.11 アドレスが ehost であるなら、真。 wlan addr2 ehost 存在する、2 番目の IEEE 802.11 アドレスが ehost であるなら、真。 2 番目のアドレスフィールドは、CTS (Clear To Send) と ACK (Acknowledgment) 制御フレームを除いて、すべてのフレームで使用さ れます。 wlan addr3 ehost 存在する、3 番目の IEEE 802.11 アドレスが ehost であるなら、真。 3 番目のアドレスフィールドは、制御フレームでなく、管理とデータフ レームで使用されます。 wlan addr4 ehost 存在する、4 番目の IEEE 802.11 アドレスが ehost であるなら、真。 4 番目のアドレスフィールドは、WDS (Wireless Distribution System) フレームのためだけに使用されます。 type wlan_type IEEE 802.11 フレームタイプが指定された wlan_type と一致するな ら、真。有効な wlan_type は、次の通りです: mgt, ctl と data。 type wlan_type subtype wlan_subtype IEEE 802.11 フレームタイプが、指定された wlan_type と一致し、フ レームサブタイプが指定された wlan_subtype と一致するなら、真。 指定された wlan_type が mgt であるなら、有効な wlan_subtype は、 次の通りです: assoc-req, assoc-resp, reassoc-req, reassoc-resp, probe-req, probe-resp, beacon, atim, disassoc, auth と deauth。 指定された wlan_type が ctl であるなら、有効な wlan_subtype は、 次の通りです: ps-poll, rts, cts, ack, cf-end と cf-end-ack。 指定された wlan_type が data であるなら、有効な wlan_subtype は、次の通りです: data, data-cf-ack, data-cf-poll, data-cf-ack- poll, null, cf-ack, cf-poll, cf-ack-poll, qos-data, qos-data-cf- ack, qos-data-cf-poll, qos-data-cf-ack-poll, qos, qos-cf-poll と qos-cf-ack-poll。 subtype wlan_subtype IEEE 802.11 フレームサブタイプが、指定された wlan_subtype と一致 し、フレームに指定された wlan_subtype が属しているタイプがあるな ら、真。 dir dir IEEE 802.11 フレームの方向が指定された dir と一致するなら、真。 有効な方向は、次の通りです: nods, tods, fromds, dstods または数 値。 vlan [vlan_id] パケットが IEEE 802.1Q VLAN パケットであるなら、真。[vlan_id] が 指定されるなら、パケットに指定された vlan_id がある場合のみ、 真。パケットが VLAN パケットであるという仮定で、expression で遭 遇した最初の vlan キーワードが expression の残りのためのデコード オフセットに変更することに注意してください。vlan [vlan_id] 表現 は、VLAN 階層構造でフィルタリングするために何回も使用されます。 その表現の各使用は、4 でフィルタオフセットが増加されます。 例えば: vlan 100 && vlan 200 は、VLAN 100 内でカプセル化された VLAN 200 でフィルタリングし、 そして vlan && vlan 300 && ip は、あらゆるより高い順序の VLAN 内でカプセル化された VLAN 300 で カプセル化された IPv4 プロトコルをフィルタリングします。 mpls [label_num] パケットが MPLS パケットであるなら、真。[label_num] が指定される なら、パケットに指定された label_num がある場合のみ真。 expression で遭遇した最初の mpls キーワードは、パケットが、MPLS カプセル化された IP パケットであるという仮定で、expression の残 りのためのデコードオフセットに変更することに注意してください。 mpls [label_num] 表現は、MPLS 階層構造でフィルタリングするために 何回も使用されます。その表現の各使用は、4 でフィルタオフセットが 増加されます。 例えば: mpls 100000 && mpls 1024 は、100000 の外側ラベルと 1024 の内側ラベルがあるパケットをフィ ルタリングし、そして mpls && mpls 1024 && host 192.9.200.1 は、1024 の内側ラベルとあらゆる外側ラベルがある 192.9.200.1 から パケットをフィルタリングします。 pppoed パケットが PPP-over-Ethernet Discovery パケット (イーサネットタ イプ 0x8863) であるなら、真。 pppoes [session_id] パケットが PPP-over-Ethernet Session パケット (イーサネットタイ プ 0x8864) であるなら、真。[session_id] が指定されるなら、パケッ トに指定された session_id がある場合のみ、真。expression で遭遇 した最初の pppoes キーワードは、パケットが PPPoE セッションのパ ケットであるという仮定で、expression の残りのためのデコードオフ セットに変更することに注意してください。 例えば: pppoes 0x27 && ip は、PPPoE セッション id 0x27 でカプセル化された IPv4 プロトコル をフィルタリングします。 geneve [vni] パケットが Geneve パケット (UDP ポート 6081) であるなら、真。 [vni] が指定され、パケットが指定された vni である場合のみ、真。 geneve キーワードが expression に遭遇するとき、パケットが Geneve パケットであるということの仮定で expression の残りのためのデコー ドオフセットを変更することに注意してください。 例えば: geneve 0xb && ip は、VNI 0xb で Geneve のカプセル化された IPv4 プロトコルをフィル タリングします。これは、イーサネットフレームの内側に含まれている IP と同様に Geneve で直接カプセル化された両方の IP と一致しま す。 iso proto protocol パケットがプロトコルタイプ protocol の OSI パケットであるなら、 真。Protocol は、数値または名前 clnp, esis または isis の 1 つを 指定することができます。 clnp, esis, isis 省略形は、次の通りです: iso proto p ここで、p は、上記のプロトコルの 1 つです。 l1, l2, iih, lsp, snp, csnp, psnp IS-IS PDU タイプの省略形。 vpi n パケットが n の仮想パス識別子がある、Solaris の SunATM のための ATM パケットであるなら、真。 vci n n の仮想チャネル識別子がある、Solaris の SunATM のための ATM パ ケットであるなら、真。 lane パケットが、Solaris の SunATM のための ATM パケットであり、ATM LANE パケットであるなら、真。expression で遭遇した最初の lane キーワードは、パケットが LANE エミュレートイーサネットパケットま たは LANE LE 制御パケットのいずれかであるという仮定で、 expression の残りで行なわれるテストに変更することに注意してくだ さい。lane が指定されないなら、テストは、パケットが、LLC カプセ ル化されたパケットであるという仮定の下で行なわれます。 oamf4s パケットが、Solaris の SunATM のための ATM パケットであり、セグ メント OAM F4 フローセル (VPI=0 & VCI=3) であるなら真。 oamf4e パケットが、Solaris の SunATM のための ATM パケットであり、end to-end OAM F4 フローセル (VPI=0 & VCI=4) であるなら、真。 oamf4 パケットが、Solaris の SunATM のための ATM パケットであり、セグ メントまたは end-to-end OAM F4 フローセル (VPI=0 & (VCI=3 | VCI=4)) であるなら、真。 oam パケットが、Solaris の SunATM のための ATM パケットであり、セグ メントまたは end-to-end OAM F4 フローセル (VPI=0 & (VCI=3 | VCI=4)) であるなら、真。 metac パケットが、Solaris の SunATM のための ATM パケットであり、メタ シグナルで伝えている回路 (VPI=0 & VCI=1) であるなら、真。 bcc パケットが、Solaris の SunATM のための ATM パケットであり、ブ ロードキャスト (同報通信) のシグナルで伝えている回路 (VPI=0 & VCI=2) であるなら、真。 sc パケットが、Solaris の SunATM のための ATM パケットであり、シグ ナルで伝えている回路 (VPI=0 & VCI=5) であるなら、真。 ilmic パケットが、Solaris の SunATM のための ATM パケットであり、ILMI 回路 (VPI=0 & VCI=16) であるなら、真。 connectmsg パケットが、Solaris の SunATM のための ATM パケットであり、シグ ナルで伝えている回路であり、Q.2931 Setup, Call Proceeding, Connect, Connect Ack, Release または Release Done メッセージであ るなら、真。 metaconnect パケットが、Solaris の SunATM のための ATM パケットであり、メタ シグナルで伝えている回路であり、Q.2931 Setup, Call Proceeding, Connect, Release, or Release Done メッセージであるなら、真。 expr relop expr 関連が保持され、ここで relop が、>, <, >=, <=, =, != の 1 つであ り、expr が整数定数 (標準の C 構文で表現される) から成る演算式で あり、標準のバイナリ演算子 [+, -, *, /, %, &, |, ^, <<, >>]、長 さ演算子と特別なパケットデータアクセス機構であるなら、真。例え ば、0x80000000 と 0xffffffff > 0 であるように、すべての比較が符 号なしであることに注意してください。 % と ^ 演算子は、3.7 以降のカーネルの Linux でカーネルのフィルタ リングのためにのみ、現在サポートされています。すべての他のシステ ムで、それらの演算子が使用され、フィルタリングは、捕獲パケットの オーバヘッドを増加させて、より多くのパケットが落とされる、ユーザ モードで行なわれます。 パケットの内側のデータにアクセスするためには、次の構文を使用しま す: proto [ expr : size ] Proto は、ether, fddi, tr, wlan, ppp, slip, link, ip, arp, rarp, tcp, udp, icmp, ip6 または radio の 1 つで、インデックス操作のた めのプロトコルレイヤを示します。(ether, fddi, wlan, tr, ppp, slip と link のすべては、リンクレイヤを参照します。radio は、い くつかの 802.11 キャプチャに追加された "radio header" を参照しま す。) tcp, udp と他の上位レイヤのプロトコルタイプは、IPv6 ではな く、IPv4 のみに適用することに注意してください (これは、将来固定 されるでしょう)。示されたプロトコルレイヤと関連するバイトオフ セットは、expr によって与えられます。size は、オプションであり、 興味あるフィールドのバイトの数を示します。それは、1、2、または 4 を指定することができ、デフォルトは、1 です。キーワード len に よって示される長さ演算子は、パケットの長さを与えます。 例えば、`ether[0] & 1 != 0' は、すべてのマルチキャストトラフィッ クをキャッチします。表現 `ip[0] & 0xf != 5' は、オプションですべ ての IPv4 パケットをキャッチします。表現 `ip[6:2] & 0x1fff = 0' は、フラグメント化されていない IPv4 データグラムとフラグメント化 された IPv4 データグラムのフラグ 0 のみをキャッチします。この チェックは、tcp と udp インデックス操作に暗黙に適用されます。例 えば、tcp[0] は、常に TCP header の最初のバイトを意味し、決して 介在しているフラグメントの最初のバイトを意味しません。 いくつかのオフセットとフィールド値は、数値ではなく名前として表現 されます。次のプロトコルヘッダフィールドオフセットが、利用可能で す: icmptype (ICMP タイプフィールド)、icmp6type (ICMP v6 タイプ フィールド)、icmpcode (ICMP コードフィールド)、icmp6code (ICMP v6 コードフィールド) と tcpflags (TCP フラグフィールド)。 次の ICMP タイプフィールド値が、利用可能です: icmp-echoreply, icmp-unreach, icmp-sourcequench, icmp-redirect, icmp-echo, icmp- routeradvert, icmp-routersolicit, icmp-timxceed, icmp-paramprob, icmp-tstamp, icmp-tstampreply, icmp-ireq, icmp-ireqreply, icmp- maskreq, icmp-maskreply。 次の ICMPv6 タイプフィールドが、利用可能です: icmp6-echo, icmp6-echoreply, icmp6-multicastlistenerquery, icmp6-multicastlistenerreportv1, icmp6-multicastlistenerdone, icmp6-routersolicit, icmp6-routeradvert, icmp6-neighborsolicit, icmp6-neighboradvert, icmp6-redirect, icmp6-routerrenum, icmp6-nodeinformationquery, icmp6-nodeinformationresponse, icmp6-ineighbordiscoverysolicit, icmp6-ineighbordiscoveryadvert, icmp6-multicastlistenerreportv2, icmp6-homeagentdiscoveryrequest, icmp6-homeagentdiscoveryreply, icmp6-mobileprefixsolicit, icmp6-mobileprefixadvert, icmp6-certpathsolicit, icmp6-certpathadvert, icmp6-multicastrouteradvert, icmp6-multicastroutersolicit, icmp6-multicastrouterterm。 次の TCP フラグフィールド値が、利用可能です: tcp-fin, tcp-syn, tcp-rst, tcp-push, tcp-ack, tcp-urg, tcp-ece, tcp-cwr。 プリミティブは、組み合わせて使用されます: プリミティブと演算子の括弧に入れられたグループ。 Negation (`!' または `not'). Concatenation (`&&' または `and'). Alternation (`||' または `or'). 否定は、最も高い優先順位があります。alternation と concatenation は、同 じ優先順位があり、左から右に関連します。並列ではなく、明示的な and トー クンは、連結のために、現在必要であることに注意してください。 識別子がキーワードなしで与えられるなら、最も最近のキーワードが仮定され ます。例えば、 not host vs and ace は、次の短縮形で not host vs and host ace は、次と混乱されるべきではありません not ( host vs or ace ) 使用例 到着するすべてのパケット、または sundown からの出発を選択するためには: host sundown helios と hot or ace のいずれかの間のトラフィックを選択するためには: host helios and \( hot or ace \) helios 除いて ace とあらゆるホストの間のすべての IP パケットを選択する ためには: ip host ace and not helios ローカルなホストと Berkeley のホストの間のすべてのトラフィックを選択す るためには: net ucb-ether インターネットゲートウェイ snup を通してすべての ftp トラフィックを選択 するためには: gateway snup and (port ftp or ftp-data) (1 つの他のネットへの利用者ゲートウェイであるなら、この stuff は、利用 者のローカルネットで決してそれを行なうべきではありません)。 ip and not net localnet ローカルでないホストを含む各各 TCP 通信の開始と終わりのパケット (SYN と FIN パケット) を選択するためには。 tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet ポート 80 に / ポート 80 からのすべての IPv4 HTTP パケットを選択するた めには例えば、SYN と FIN パケットと ACK-only パケット、ではなく、すなわ ち、データを含んでいるパケットのみを印刷 (表示) します。(IPv6 は、リー ダのための練習として残されます。) tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0) ゲートウェイ snup を通して送信される 76 バイト以上の IP パケットを選択 するためには: gateway snup and ip[2:2] > 576 イーサネットブロードキャスト (同報通信) またはマルチキャストを通して送 信されなかった IP ブロードキャスト (同報通信) またはマルチキャストパ ケットを選択するためには: ether[0] & 1 = 0 and ip[16] >= 224 エコー要求/応答ではない (すなわち、ping パケットではない)、すべての ICMP パケットを選択するためには: icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply 関連項目 pcap(3) バグ セキュリティの問題を報告するためには、電子メールを security@tcpdump.org に送ってください 。 バグと他の問題を報告するためには、パッチを寄与し、機能を要求し、一般的 なフィードバックその他を提供して、libpcap ソースツリーのファイル CONTRIBUTING を参照してください。 トークンリングヘッダのそれら以外のフィールドでのフィルタ表現は、発信元 の経路制御されたトークンリングパケットを正しく扱いません。 802.11 のヘッダのそれら以外のフィールドでのフィルタ表現は、To DS と From DS 設定の両方で 802.11 データパケットを正しく扱いません。 ip6 proto は、ヘッダチェーンを追跡するべきですが、現時点で、それは、行 ないません。ip6 protochain は、この振る舞いのために供給されます。 トランスポート層ヘッダに対する演算式は、tcp[0] のように、IPv6 パケット に対して動作しません。それは、IPv4 パケットを調べるだけです。 5 November 2017 PCAP-FILTER(7)