Ethereal for Windows2000

Last modified: Tue Jul 17 11:20:32 JST 2001

1 | 2 | 3 | 4 | 5 | Back

3.フィルタ設定


特定のパケットだけを選択するフィルタリングは不可欠な機能と言える。その方法は2通り。
ややこしいことに、同じフィルタという名前が付いていながら、これ ら2つのフィルタは書式が異なる。
ディスプレイ・フィルタは ethereal独自の書式に従って記述するが、キャプチャ・フィルタはpcapライブラリの仕様に従ってフィルタを記述しなければならない。tcpdumpを知っている人は、tcpdumpの条件式と同じといえば分るでしょう。


3.1 ディスプレイ・フィルタ

ディスプレイ・フィルタは、目的の情報までの階層構造をドットで区切って指 定する。

例1:

例えばIPアドレス「192.168.144.1」を含むパケットを検索するには、ip.addr == 192.168.144.1 と指定する。


Filter: ボタンを押す


「Filter name:」には任意の名前を、「Filter string:」にはフィルタリング 条件を記述


必要なフィルタリング条件をすべて登録したら、「Save」ボタンを押す


Apply でフィルタリングを実行


条件に適合したパケットだけを収集できる

例2:

宛先アドレスが 192.168.144.2 であるIPパケットのみ表示する場合


ip.dst == 192.168.144.2


複数の条件式を組み合わせることも可。
たとえば、192.168.0.2 で動作しているHTTPサーバの応答のみを表示するには ip.src == 192.168.0.2 && tcp.srcport ==80
さらに 192.168.0.2 の HTTP、FTP通信を表示する場合には ip.addr == 192.168.0.2 && (tcp.port == 80 || tcp.port == 20 || tcp.port == 21)

条件比較演算子
eq , == 等しい
ne , != 等しくない
gt , > 大きい
lt , < 小さい
ge , >= 大きいか等しい
le , <= 小さいか等しい
論理演算子
and , && 論理積
or , || 論理和
xor , ^^ 排他的論理和
not , ! 条件式の否定
. .
. .

例3:

プロトコルが http の場合


http


httpだけを抽出した実行結果


この他にも UDP,ICMP など。
さらに IPパケットのみを表示し、IPX やAppleTalkなどを非表示にしたい場合には、単純に ip と指定するだけですむ。


フィルタリング条件のクリア


Reset

フィルタリング条件の一覧を表示


Help -> Help


Display Filters

eth
eth.dst 送信先 Ethernetアドレス。次の3つの形式のいづれか。
00:41:86:e0:3c:63
0.41.86.e0.3c.63
00-41-86-e0-3c-63
さらに、ベンダーコードの比較のように eth.dst[0:3] == 00:41:86 も可
eth.len Ethernet フレーム・ペイロード長
eth.src 送信元 Ethernetアドレス
eth.type 上位層プロトコル番号

ip
ip.addr 送信先か送信元のIPアドレス。192.168.0.1 , xxx.xxx.jp , 192.168.0.0/16 (IPアドレス指定、DNS名表記、サブネットマス クの長さを指定してネットワーク・アドレスを指定も可能)
ま た、ip.addr[-1:1] == 1 のように指定した末尾からのオフセット も可(ip.addr[4:1] == 1 と同様)
ip.checksum IPヘッダのチェックサム
ip.dsfield 目的別サービス・フィールドの値
ip.dsfield.cu 目的別サービス・フィールドの未使用値
ip.dsfield.dscp 目的別サービス・フィールド・コードポイント値
ip.dst 送信先IPアドレス
ip.flags IPヘッダのフラグ値
ip.flags.df 分割禁止フラグ
ip.flags.mf 後続パケットありフラグ
ip.frag.offset 分割オフセット値
ip.hdr_len IPヘッダ長
ip.id 分割識別子
ip.len IPパケット全長
ip.proto 上位層プロトコル番号
ip.src 送信元IPアドレス
ip.tos サービス識別値
ip.tos.cost コスト重視フラグ
ip.tos.delay 遅延重視フラグ
ip.tos.precedence 優先フラグ
ip.tos.reliability 信頼性重視フラグ
ip.tos.throughput スループット重視フラグ
ip.ttl 残存時間
ip.version バージョン番号

tcp
tcp.ack 受信確認番号
tcp.checksum チェックサム
tcp.dstport 送信先ポート番号
tcp.flags TCPのフラグフィールド値
tcp.flags.ack 受信確認フラグ
tcp.flags.fin 通信終了フラグ
tcp.flags.push 即時送信フラグ
tcp.flags.reset 回線リセットフラグ
tcp.flags.syn 通信開始同期フラグ
tcp.flags.urg 緊急データフラグ
tcp.hdr_len TCPヘッダ長
tcp.port 送信先か送信元のポート番号
tcp.seq パケットの通し番号
tcp.srcport 送信元ポート番号
tcp.urgent_pointer 緊急データの位置
tcp.window_size スライディング・ウィンドウの大きさ

udp
udp.checksum チェックサム
udp.dstport 通信先ポート番号
udp.length UDPペイロード長
udp.port 送信先か送信元ポート番号
udp.srcport 送信元ポート番号



3.2 キャプチャ・フィルタ

キャプチャ時に特定のパケットだけを取り込むには、キャプチャ開始時に表示 する Capture Preferences ダイアログ のオプション「Filter:」を利用する。


「Filter:」のテキストボックスにフルタリングの条件を入力。


tcp port 80 のみキャプチャ


実行結果

tcpdumpコマンドのexpressionオプションと同じ指定方法
ether proto [フレーム・タイプ] イーサネット・パケットのフレームテイプ(IP/ARP/RARPなど)
ether src [MACアドレス] ソース(発信元)のMACアドレス
ether dst [MACアドレス] ソース(あて先)のMACアドレス
host [IPアドレス] ソースまたはデスティネーションのIPアドレス
src host [IPアドレス] ソースのIPアドレス
dst host [IPアドレス] デスティネーションのIPアドレス
ip proto [プロトコルID]
または [プロトコルID] のみ
IPパケットのプロトコルID(TCP/UDP/ICMPなど)


  • キャプチャ・フィルタが必要になるのは、取り込まれるパケットの量が多すぎてメモリに格納できない場合など。
  • キャプチャ・フィルタを適用すると、フィルタに適合しなかったパケットは完全に捨てられてしまうため、可能なかぎりキャプチャ・フィルタを設定せずに、ディスプレイ・フィルタを利用したほうを勧める。
  • どうしてもキャプチャ・フィルタを指定する必要があるときは、 tcpdumpのマニュアルを参照。



1 | 2 | 3 | 4 | 5 | Back