株式会社ディアイティはサイバーセキュリティとネットワークの企業

Omnipeekを使いこなそう
~Omnipeekの使い方~ (不定期連載)


第11回:フィルタ構文

OmnipeekにもWiresharkのようなフィルタを構文で入力する機能があります。
Omnipeekでは、第5回、第6回でご紹介したようなGUIでのフィルターが基本になりますので、Wiresharkほど細かいフィルタ構文を作ることはできませんが、一部の機能を使用する際に簡単なフィルタを構文で使えるようになっていると便利な場合がありますので、よく使いそうなフィルタ構文をご紹介します。

どんなときに使えると便利か

OmnipeekのGUIベースのフィルタは、直感的にフィルタルール作成することができるようになっており、複雑なフィルタも比較的簡単に作成することができます。フィルタの適用は、保存したフィルタルールを選択するだけです。
ただ、「今回だけ1つのIPアドレスでフィルタしたい」というような場合、GUIでいちいちルールを作成してから選択してフィルタをかけるのは手間に感じることもあるかと思います。
そんなときは、フィルタ構文を使えると便利です。

パケットリストで使う

次の図は、パケットファイルを開いたときの表示です。パケットリストの上部(Overviewの下部)にフィルタ構文の入力欄が表示されます。
表示されていない場合は、メニューの[View]より「Filter Bar」にチェックを入れてください。

パケットリスト:フィルタ構文の入力欄

Forensic Searchでフィルタを使う

OmniplianceなどのCapture Engineを搭載したアプライアンス製品で、保存された膨大なパケットファイルから目的のパケットを取り出すツールとしてForensic Searchという機能があります。
主にパケットを取り出す際は、期間で指定することが多いですが、特定のIPアドレスや特定のプロトコルなど、更にパケットを限定して取り出したい場合には、フィルタを使用します。

Forensic Search:フィルタ構文の入力欄

複雑な条件のフィルタを適用したい場合は、第5回、第6回で紹介しているGUIベースでフィルタルールを作成してください。ここでは、比較的簡単な条件でフィルタをしたい場合にフィルタ構文を使用することにします。


フィルタバーの構文

Operator/op (演算子)

Omnipeekで使用できる演算子は、以下の4つになります。


次の図のようにフィルタバーの左にある漏斗のアイコンをクリックして、メニューから「Insert Operator」を選択するとリストで表示されます。

フィルタバー:Operator/op (式)


Expression/exp (式)

Omnipeekで使用できる式は、以下のようになります。カッコ内は構文入力をする際の式になります。


次の図のようにフィルタバーの左にある漏斗のアイコンをクリックして、メニューから「Insert Expression」を選択するとリストで表示されます。

フィルタバー:Expression/exp (式)


入力例

以下のように、演算子と式を組合せてフィルタ構文を作成します。

pspec(http) & (!pspec('802.3'))
ip(192.168.1.1) & port(80)

※ カンマ、コロン、スペースなどの予約文字が値に含まれる場合(上記の例では、「802.3」)は、値をシングルクォーテーションで括る必要があります。


Expression (式)の使い方

比較的よく使うであろう次の式の使い方をご紹介します。


引数の記述の見方


Address (addr)

アドレスによるフィルタを行います。アドレスタイプを指定して、その後ろにフィルタ条件となる値を指定します。

addr(type:[アドレスタイプ], addr1:[アドレス], addr2:[アドレス], dir:[方向])

addr([アドレスタイプ]:[アドレス])
記入例
addr(type:ip, addr1:’10.4.3.1’, addr2:’10.5.1.1’, dir:1to2)
addr(ip:’10.4.3.*’)
addr(ethernet:’3com.*.*.*’)

IP (ip)

IPアドレスを指定してフィルタする場合に使用します。「addr(ip:[アドレス])」と同じものになります。
複数のIPアドレスを指定した場合、OR条件でのフィルタになります。addrと異なり通信の方向を指定することはできません。

ip([アドレス], [アドレス], ...)
記入例
ip(’10.4.3.1’)
ip(’10.4.3.*’)
ip(’10.4.3.*, ‘192.168.*.*’)

Application (app)

ここで指定できるアプリケーション名は、Omnipeekのデータベースに登録され識別可能なアプリケーションのみです。
登録されたアプリケーションの一覧は、Omnipeekがインストールされたフォルダ中の以下のファイルに記載されています。(64bit版の標準インストールパスになります)

複数のアプリケーションを指定した場合、OR条件でのフィルタになります。

app([アプリケーション名], [アプリケーション名], ...)
記入例
app(’Youtube’)
app(’Instagram’)
app(‘Windows Update’)

Protospec (pspec)

Protospecとは、Omnipeekのプロトコルデータベースでプロトコル名と対応するポート番号が登録されています。
登録済みのプロトコルは、Protospecからプロトコル名を指定してフィルタすることができます。Protospecに登録されていないプロトコルは、後述のPortでポート番号を指定してフィルタします。
複数のプロトコル名を指定した場合、OR条件でのフィルタになります。

pspec([プロトコル名], [プロトコル名], ...)
記入例
pspec(HTTP)
pspec(HTTP, ‘NB Sess Init’ )

Port (port)

ポートによるフィルタを行います。ポートタイプを指定して、その後ろにフィルタ条件となる値を指定します。

port(type:[ポートタイプ], port1:[ポート], port2:[ポート], dir:[方向])

port([ポート], [ポート])
記入例
port(type:tcpudp, port1:80, port2:1523, dir:1to2)
port(port1:80, port2:1523, dir:1to2)
port(80)
port(80, 443)

フィルタバーは、入力した構文を自動判定し、正しく入力されている場合はバーが黄緑色に、誤って入力されている場合はピンク色で表示されますので、確認しながら入力ができます。残念ながら、Expression (式)のTab補完機能は実装されていません。漏斗のアイコンから使用できるExpressionを選択できますのでこちらをご利用ください。


この製品に関するお問い合わせ

03-5634-7653電話受付時間/平日9:00-18:00
メールでのお問い合わせ

24時間受付