Decoder:ペイロード関数

Document created by RSA Information Design and Development on Feb 15, 2017
Version 1Show Document
  • View in full screen mode
  

このトピックでは、Flex Parserのペイロード関数に関する言語の定義を示します。

これらの関数は、読み取り位置(match要素の先頭に設定される)に作用します。

言語の定義

                                                                                                              
ノード名属性名説明
find  読み取り位置を起点としたストリーム ペイロードから、指定された文字列値を検索します。その値が見つかった場合、読み取り位置からのオフセットが返されます。その後すべての子要素が実行されます。見つからない場合は、いずれの子要素も実行されません。 
 name一致の起点となる読み取り位置からのオフセットを受け取るnumber変数。
 value検索する文字列。
 length(オプション)検索するペイロード長の上限。制限を設定しない場合、ペイロードの残りが検索されます。パフォーマンスへの影響を抑えるため、ここでは常にできるだけ小さい値を使用することを推奨します。 
install-decoder  ペイロード データは、フラグメント化されていたり、何らかの方法でエンコーディングされていることがあります。そのようなペイロード データに対してトークンをマッチングさせるための手段です。スキャン デコーダーをインストールすることによって、ペイロードからトークンを探すためのスキャンを実行する前に、ペイロードの特定のセクションに前処理を適用することができます。たとえば、HTTPレスポンスに、チャンク転送エンコーディングとgzipコンテンツ エンコーディングが使用されているとします。HTTPヘッダを解析して、必要な type、offset、lengthの各パラメータをすべて設定しておくことができます。トークンのスキャン処理から見ると、HTTPレスポンスのペイロードは、どちらのエンコーディングも適用されていないかのように見えます。ただし、この処理には大きなオーバーヘッドが伴います。 
 typeインストールするデコーダーのタイプ。
有効なオプションは、gzip、deflate、chunked、chunked-gzip、chunked-deflateです。 
 offset現在の読み取り位置からデコードを開始する位置までのオフセット。
 lengthデコードするペイロードの最大長。
isdecoding  インストールされているデコーダーが現在アクティブであるかどうかを判定します。アクティブである場合は、この関数のすべての子が実行されます。この関数にはパラメータがありません。 
move  現在のストリーム内の読み取り位置を、指定されたバイト数分前方に移動します。十分なデータがストリームに存在する場合、読み取り位置が更新され、すべての子要素が実行されます。見つからない場合は、読み取り位置は変更されず、いずれの子要素も実行されません。 
 value読み取り位置の移動バイト数。
 direction(オプション)現在の読み取り位置の移動方向。forward(デフォルト)またはreverseを指定できます。
packetid  現在の読み取り位置のパケットのIDを返します。結果が0になることもあります。これは、パケットIDが判別できなかったことを示します。 
 name現在のパケットIDが格納されるnumber変数。
payload-position  現在の読み取り位置を返します。これは、ストリーム ペイロードのゼロから始まるインデックスです。
 name現在の読み取り位置が格納されるnumber変数。
read  読み取り位置を起点として、指定されたバイト数を変数に読み取ります。十分なデータがストリームに存在する場合、読み取り位置が更新され、読み取られたデータが変数に格納されて、すべての子要素が実行されます。見つからない場合は、読み取り位置は変更されず、いずれの子要素も実行されません。 
 nameストリーム データが格納されるstring変数またはnumber変数の名前。number変数を指定した場合、読み取られたバイトは、符号なしの単一の数値として解釈されます。 
 lengthストリームから読み取るバイト数。
 endianess(オプション)number変数に読み取るときに使用するバイト オーダー。big(デフォルト)またはlittleを指定できます。string変数への読み取り時には、この属性は無効です。 
Previous Topic:ノード
Next Topic:Regex
You are here
Table of Contents > 参考資料 > [サービス]の[構成]ビュー:[ファイル]タブ > Flex Parser > ペイロード関数

Attachments

    Outcomes