Citrix ADC

書き換えアクションの設定

警告

書き換えアクションのパターン機能は、Citrix ADC 12.0ビルド56.20以降では廃止され、代替として、[検索書き換えアクション]パラメータを使用することをお勧めします。

書き換えアクションは,サーバーまたはクライアントに送信する前に要求または応答に加えられた変更を示します。

式は,次のことを定義しています。

  • アクションタイプを書き換えます。

  • 書き換えアクションの場所です。

  • アクションの設定タイプを書き換えます。

たとえば、删去アクションはターゲット式のみを使用します。代替アクションは、ターゲット式と式を使用して置換テキストを設定します。

書き換え機能を有効にした後は,組み込みの書き換えアクションで十分でない限り,1つ以上のアクションを設定する必要があります。すべての組み込みアクションの名前は,文字列ns_cvpnで始まり,その後に文字列とアンダースコア文字が続きます。組み込みアクションは,クライアントレスVPN要求または応答の一部のデコード,JavaScriptまたはXMLデータの変更など,便利で複雑なタスクを実行します。組み込みアクションは,表示,有効化,および無効化できますが,変更または削除することはできません。

注:

HTTP書き換えにのみ使用できるアクションタイプは,[書き換えアクションタイプ]列で識別されます。

詳細については。”类型パラメータ“を参照してください。

コマンドラインインターフェイスを使用して書き換えアクションを作成する

コマンドプロンプトで次のコマンドを入力して,書き換えアクションを作成し,構成を確認します。

  • 添加重写动作 [] [-search ] [refineSearch ] [-comment]
  • 显示重写操作

詳細については,書き換えアクションタイプとその引数テーブルを参照してください

書き換え機能には,次の組み込みアクションがあります。

  • noreWrite——リクエストまたはレスポンスを書き換えずにユーザーに送信します。

  • 重置-ユーザーがリクエストを再送信できるように,接続をリセットしてユーザーのブラウザに通知します。

  • 下降-ユーザーに応答を送信せずに接続をドロップします。

第1次のフロータイプのつがすべてのアクションに暗黙的に関連付けられます。

  • 请求——アクションはリクエストに適用されます。

  • 反应-アクションは応答に適用されます。

  • ニュートラル——アクションはリクエストとレスポンスの両方に適用されます。

名前

ユーザー定義の書き換えアクションの名前。文字,数字,またはアンダースコア文字(_)で始まり,ハイフン(-),ピリオド(.)ハッシュ(#),スペース(),アットマーク(@),等号(=),コロン(:),およびアンダースコア文字のみを含める必要があります。書き換えポリシーの追加後に変更できます。

型パラメータ

类型パラメータには,ユーザー定義の書き換えアクションのタイプが表示されます。

类型パラメータの値は次のとおりです。

  • 替换<目标> < string_builder_expr >。文字列を文字列ビルダー式に置き換えます。

> add rewrite action replace_http_act replace http.res.body(100)'"new_replaced_data"' Done > sh重写action replace_http_act Name: replace_http_act Operation: replace Target:http.res.body(100) Value:"new_replaced_data" Hits: 0 Undef Hits: 0 action Reference Count: 0 Done 
  • 替换所有-(模式搜索)<目标>で指定されたリクエストまたはレスポンスで,< string_builder_expr1 >で定義されているすべての文字列を、< string_builder_expr2 >で定義された文字列に置き換えます。PCRE形式のパターンまたは検索機能を使用して,置換する文字列を検索できます。

> add policy patset pat_list_2 Done > bind policy patset pat_list_2 "www.abc.com" Done > bind policy patset pat_list_2 "www.def.com" Done > add rewrite action refineSearch_act_31 replace_all "HTTP.RES.BODY(100000)"”“https://”“搜索”patset(“pat_list_2”)”-refineSearch”扩展(7,0).REGEX_SELECT (re # http://)”完成> sh重写操作refineSearch_act_31 Name: refineSearch_act_31 Operation: replace_all Target:HTTP.RES.BODY(100000) Refine Search:EXTEND(7,0).REGEX_SELECT(re#http://#) Value:"https://" Search: patset(pat_list_2) Hits: 0 Undef Hits: 0 action Reference Count: 0 Done 
  • REPLACE_HTTP_RES < string_builder_expr >。完全なHTTPレスポンスを文字列ビルダー式で定義された文字列に置き換えます。

>添加重写操作replace_http_res_act replace_http_res“HTTP / 1.1 200 OK \ r \ n \ r \发送从ADC”“做> sh重写行动replace_http_res_act名称:replace_http_res_act操作:replace_http_res目标:“HTTP / 1.1 200 OK发送从ADC”点击:0 Undef支安打:行动引用计数:0做< !——NeedCopy >
  • REPLACE_SIP_RES <目标>小口喝応答全体を、<目标>で指定された文字列に置き換えます。

>添加重写操作replace_sip_res_act replace_sip_res“HTTP / 1.1 200 OK \ r \ n \ r \发送从ADC”“做> sh重写行动replace_sip_res_act名称:replace_sip_res_act操作:replace_sip_res目标:“HTTP / 1.1 200 OK发送从ADC”点击:0 Undef支安打:行动引用计数:0做< !——NeedCopy >
  • INSERT_HTTP_HEADER < header_string_builder_expr > < contents_string_builder_expr >。で指定されたHTTPヘッダーを挿入します。< header_string_builder_expr >およびヘッダーコンテンツで指定された内容< contents_string_builder_expr >。

>添加重写动作in_cip_header insert_http_header "CIP" "CLIENT.IP. "SRC"已完成> sh重写动作ins_cip_header名称:ins_cip_header操作:insert_http_header目标:CIP值:CLIENT.IP。SRC Hits: 0 Undef Hits: 0 Action Reference Count: 0 Done 
  • DELETE_HTTP_HEADER <目标><目标>で指定されたHTTPヘッダーを削除します。

> sh重写动作del_true_client_ip_header名称:del_true_client_ip_header操作:delete_http_header Target:True-Client-IP Hits: 0 Undef Hits: 0 action Reference Count: 0 Done 
  • CORRUPT_HTTP_HEADER <目标><目标>で指定したすべての出現するHTTPヘッダーのヘッダー名を破損した名前に置き換え,レシーバによって認識されないようにします。例:MY_HEADERはMHY_ADERに変更されます。

>添加重写操作损坏\u内容\u长度\u hdr损坏\u http\u标题“内容长度”完成>sh重写操作损坏\u内容\u长度\u hdr名称:损坏\u内容\u长度\u hdr操作:损坏\u http\u标题目标:内容长度命中:0未定义命中:0操作引用计数:0完成<--需要复制-->
  • INSERT_BEFORE < string_builder_expr1 > < string_builder_expr1 >< string_builder_expr1 >で指定された文字列を検索し,その前の< string_builder_expr2 >に文字列を挿入します。
> add重写操作insert_before_ex_act insert_before http.res.body(100)' ' Done > sh重写动作insert_before_ex_act Name: insert_before_ex_act Operation: insert_before Target:http.res.body(100)值:"Add this string in the starting" Hits: 0 Undef Hits: 0 action Reference Count: 0 Done 
  • INSERT_BEFORE_ALL -(模式|搜索)<目标>で指定されたリクエストまたはレスポンスで,< string_builder_expr1 >で指定された文字列のすべてのオカレンスを検索し、< string_builder_expr2 >で指定された文字列を前に挿入します。PCRE形式のパターンまたは検索機能を使用して,文字列を検索できます。

> add policy patset pat Done > bind policy patset pat abcd Done > add rewrite action refineSearch_act_1 insert_before_all http.res.body(10)target.prefix(10) +“refineSearch_testing”搜索patset (pat) -refineSearch扩展(10,10)> sh重写行动refineSearch_act_1名称:refineSearch_act_1操作:insert_before_all目标:http.res.body(10)细化搜索:扩展(10,10)价值:target.prefix(10) +“refineSearch_testing”搜索:patset(“拍”)点击:0 Undef点击:0动作引用计数:0完成
  • INSERT_AFTER < string_builder_expr1 > < string_builder_expr2 >。で指定された文字列を検索します。< string_builder_expr1 >で指定した文字列を挿入します。< string_builder_expr2 >それの後に。 **例**:
> add重写操作insert_after_act insert_after http.req.body(100)'"add this string after 100 bytes"' Done > sh重写动作insert_after_act Name: insert_after_act Operation: insert_after Target:http.req.body(100) Value:"add this string after 100 bytes" Hits: 0 Undef Hits: 0 action Reference Count: 0 Done 
  • INSERT_AFTER_ALL -(模式|搜索<目标>で指定されたリクエストまたはレスポンスで,< string_builder_expr1 >で指定された文字列のすべての出現箇所を検索し、< string_builder_expr2 >で指定した文字列をそれぞれの後に挿入します。PCRE形式のパターンまたは検索機能を使用して,文字列を検索できます。

> add重写操作refineSearch_act_2 insert_after_all http.res.body(100)“refineSearch_testing”“搜索文本(“abc”)-refineSearch扩展(0,10)完成> sh重写行动refineSearch_act_2名称:refineSearch_act_2操作:insert_after_all目标:http.res.body(100)细化搜索:扩展(0,10)价值:“refineSearch_testing”搜索:文本(点击“abc”):0 Undef支安打:行动引用计数:0做< !——NeedCopy >
  • 删除<目标>。指定したターゲットを検索して削除します。

> add重写动作delete_ex_act delete http.req.header("HDR") Done > sh重写动作delete_ex_act Name: delete_ex_act Operation: delete Target:http.req.header("HDR") Hits: 0 Undef Hits: 0 action Reference Count: 0 Done 
  • DELETE_ALL -(模式|搜索) . txt<目标>で指定されたリクエストまたはレスポンスで,< string_builder_expr >で指定された文字列のすべてのオカレンスを検索して削除します。PCRE形式のパターンまたは検索機能を使用して,文字列を検索できます。

>add重写操作refineSearch_act_4 delete_all "HTTP.RES.BODY(50000)"搜索文本(“Windows桌面”)-refineSearch“扩展(40、40).REGEX_SELECT (re # \ s < AppData > \ *。* \ \年代“\ *”< \ \ / AppData > #)”完成>显示重写动作refineSearch_act_4名称:refineSearch_act_4操作:delete_all目标:HTTP.RES.BODY(50000)优化搜索:EXTEND(40,40). regex_select (re#\s ' \* ' . ' \* ' \s ' \* ' #)搜索:text("Windows Desktops") Hits: 0 Undef Hits: 0 action Reference Count: 0 Done 
  • replace_直径_header_field <目标> <字段值>。リクエストまたはレスポンスで,<目标>で指定されたヘッダーフィールドを変更します。Diameter.req.flags.SET(<标记>)またはstringbuilderexpressionとしてのDiameter.req.flags.UNSET <标记>を使用して,フラグを設定または解除します。

> sh重写动作replace_diameter_field_ex_act replace_直径_header_field diameter.req.flags diameter.req.flags.set(PROXIABLE)完成> sh重写动作replace_直径_field_ex_act名称:replace_直径_field_ex_act操作:replace_直径_header_field目标:diameter.req. flags.set(PROXIABLE)完成flags值:diameter.req.flags.set(PROXIABLE) Hits: 0 Undef Hits: 0 Action Reference Count: 0 Done 
  • REPLACE_DNS_HEADER_FIELD <目标>。リクエストまたはレスポンスで,<目标>で指定されたヘッダーフィールドを変更します。

> add rewrite action replace_dns_hdr_act replace_dns_hdr_field dns.req.header.flags.set(AA) Done > sh rewrite action replace_dns_hdr_act Name: replace_dns_hdr_act Operation: replace_dns_header_field Target:dns.req.header.flags.set(AA) Hits: 0 Undef Hits: 0 action Reference Count: 0 Done 
  • REPLACE_DNS_ANSWER_SECTION <目标>。応答のDNS応答セクションを置き換えます。これは現在,およびAAAAレコードにのみ適用されます。DNS.NEW_RRSET_AおよびNS。NEW_RRSET_AAAA式を使用して、新しい回答セクションを構成します。

>添加重写操作replace_dns_ans_act replace_dns_answer_section DNS.NEW_RRSET_A(“1.1.1.1”,10)完成> sh重写行动replace_dns_ans_act名称:replace_dns_ans_act操作:replace_dns_answer_section目标:DNS.NEW_RRSET_A(“1.1.1.1”,10)点击:0 Undef支安打:行动引用计数:0做< !——NeedCopy >
  • CLIENTLESS_VPN_DECODE <目标>。ターゲットの[クライアントレスVPN形式]で指定されたパターンをデコードします。

> sh rewrite action cvpn_decode_act_1 Name: cvpn_decode_act_1 Operation: clientless_vpn_decode Target:http.req.body(100) Hits: 0 Undef Hits: 0 action Reference Count: 0 Done 
  • CLIENTLESS_VPN_DECODE_ALL <目标>搜索<表达式>。検索パラメータで指定されたすべてのパターンをクライアントレスVPN形式でデコードします。

> sh重写动作act1名称:act1操作:clientless_vpn_decode_all目标:http.req.body(100) Search: text("abcd") Hits: 0 Undef Hits: 0 action Reference Count: 0 Done 
  • 无客户端\u VPN\u编码。ターゲットで指定されたパターンをクライアントレス 虚拟专用网形式でエンコードします。

> sh rewrite action cvpn_encode_act_1 Name: cvpn_encode_act_1 Operation: clientless_vpn_encode Target:http.req.body(100) Hits: 0 Undef Hits: 0 action Reference Count: 0 Done 
  • CLIENTLESS_VPN_ENCODE_ALL <目标>搜索<表达式>。指定されたすべてのパターンをクライアントレスVPN形式でエンコードします。

> sh重写动作act2名称:act1操作:clientless_vpn_encode_all目标:http.req.body(100) Search: text("abcd") Hits: 0 Undef Hits: 0 action Reference Count: 0 Done 
  • 损坏的\u SIP\u头<目标>で指定したすべてのSIPヘッダーのヘッダー名を破損した名前に置き換え,受信者がそれを認識しないようにします。

> add rewrite action corrupt_sip_hdr_act corrupt_sip_header SIP_HDR Done > sh rewrite action corrupt_sip_hdr_act Name: corrupt_sip_hdr_act Operation: corrupt_sip_header Target:SIP_HDR Hits: 0 Undef Hits: 0 action Reference Count: 0 Done 
  • INSERT_SIP_HEADER < header_string_builder_expr > < contents_string_builder_expr >< header_string_builder_expr >で指定されたSIPヘッダーと,< contents_string_builder_expr >で指定されたヘッダーコンテンツを挿入します。

> add重写动作insert_sip_hdr_act insert_sip_header SIP_HDR '"inserting_sip_header"' Done >sh重写动作insert_sip_hdr_act名称:insert_sip_hdr_act操作:insert_sip_header目标:SIP_HDR值:"inserting_sip_header" Hits: 0 Undef Hits: 0 action Reference Count: 0 Done 
  • 删除\u SIP\u头<目标>で指定されたSIPヘッダーを削除します。

> add重写动作delete_sip_hdr delete_sip_header SIP_HDR Done > sh重写动作delete_sip_hdr名称:delete_sip_hdr操作:delete_sip_header目标:SIP_HDR Hits: 0 Undef Hits: 0 action Reference Count: 0 Done 

ターゲットパラメータ

目标パラメータリクエストまたはレスポンスのどの部分を書き換えるかを指定する式を指定します。

StringBuilderExpr

StringBuilderExpr指定された場所のリクエストまたは応答に挿入されるコンテンツを指定する式を指定します。この式は,指定された文字列を置き換えます。

例1.クライアントIPを使用したHTTPヘッダーの挿入

> add rewrite action insertact INSERT_HTTP_HEADER " CLIENT.IP " CLIENT.IP. src Done > show rewrite action insertact Name: insertact Operation: INSERT_HTTP_HEADER Target: CLIENT.IP Value:CLIENT.IP。SRC BypassSafetyCheck: NO Hits: 0 Undef Hits: 0 Action Reference Count: 0 Done 

例 2.TCPペイロード内の文字列の置換(TCP書き換え)

>添加重写操作client_tcp_payload_replace_all REPLACE_ALL client.tcp.payload(1000)”的“新字符串”搜索文本(“旧文本”)做>显示重写行动client_tcp_payload_replace_all名称:client_tcp_payload_replace_all操作:REPLACE_ALL目标:client.tcp.payload(1000)价值:“新的字符串”搜索:文本(“旧文本”)BypassSafetyCheck:NO Hits: 0 Undef Hits: 0 Action Reference Count: 0 Done > 

リクエストまたはレスポンスの一部を検索して書き換え

検索機能は,リクエストまたはレスポンスで必要なパターンのすべてのインスタンスを検索するのに役立ちます。

検索機能は、次のアクションタイプで使用する必要があります。

  • INSERT_BEFORE_ALL
  • 在\u之后插入\u
  • REPLACE_ALL
  • DELETE_ALL
  • CLIENTLESS_VPN_ENCODE_ALL
  • CLIENTLESS_VPN_DECODE_ALL

検索機能は,次のアクションタイプでは使用できません。

  • 插入\u HTTP\u头
  • INSERT_BEFORE
  • 在后面插入
  • 取代
  • 删除
  • DELETE_HTTP_HEADER
  • CORRUPT_HTTP_HEADER
  • REPLACE_HTTP_RES
  • 无客户端\u VPN\u编码
  • CLIENTLESS_VPN_DECODE
  • INSERT_SIP_HEADER
  • DELETE_SIP_HEADER
  • CORRUPT_SIP_HEADER
  • REPLACE_DIAMETER_HEADER_FIELD
  • REPLACE_DNS_ANSWER_SECTION
  • REPLACE_DNS_HEADER_FIELD
  • 更换_SIP_RES

次の検索タイプがサポートされています。

  • 文本-リテラル文字列例 ፦検索テキスト (「你好」)
  • 正規表現——リクエストまたはレスポンスの複数の文字列を照合するために使用されるパターン例፦検索正規表現(re ~ ^你好* ~)

  • XPATH-XMLを検索するXPATH式。例፦搜索xpath (xp % / a / b %)
  • JSON-JSONを検索するためのXPATH式。例፦検索xpath_json (xp % / a / b %) HTML-HTMLを検索するXPATH式例፦検索xpath_html (xp % / html /身体%)パッチセット——これはパッチセットエンティティにバインドされたすべてのパターンを検索します。例:搜索patset(“patset1”)
  • Datset——データセットエンティティにバインドされたすべてのパターンを検索します。例፦搜索数据集(“dataset1”)
  • AVP——直径/半径メッセージの例፦検索AVP(999)で複数のavonを照合するために使用されるavon番号

検索結果を絞り込む

検索の絞り込み機能を使用して,検索結果を絞り込むための追加条件を指定できます。検索の絞り込み機能は,検索機能が使用されている場合にのみ使用できます。検索の絞り込みパラメータは常に”拡張(m, n)“操作で始まります。ここで,“m”は検索結果の左側のバイト数を指定し,“n”は検索結果の右側のバイト数を指定して,選択した領域を拡張します。

設定されている書き換えアクションが次の場合:

> add rewrite action test_refine_search replace_all http.res.body(10)' " testing_refine_search " ' -search text("abc") - refinsearch extend(1,1) HTTP响应体是abcxxxx456。<!——NeedCopy >

次に、検索パラメータはパターン「abc」を検出し、精炼搜索パラメータは一致したパターンの左側に余分な 1.バイト、右側に余分な 1.バイトをチェックするように設定されているためです。結果として置換されるテキストは abcxです。したがって、このアクションの出力はtesting_refine_searchxxx456です。

例1:在所有之前插入\uアクションタイプで [絞り込み] 検索機能を使用する。

> add policy patset pat Done > bind policy patset pat abcd Done > add rewrite action refineSearch_act_1 insert_before_all http.res.body(10)target.prefix(10) +“refineSearch_testing”搜索patset (pat) -refineSearch扩展(10,10)> sh重写行动refineSearch_act_1名称:refineSearch_act_1操作:insert_before_all目标:http.res.body(10)细化搜索:扩展(10,10)价值:target.prefix(10) +“refineSearch_testing”搜索:patset(“拍”)点击:0 Undef点击:0动作引用计数:0完成

例2:INSERT_AFTER_ALLアクションタイプで”絞り込み”サーチ機能を使用する。

> add重写操作refineSearch_act_2 insert_after_all http.res.body(100)“refineSearch_testing”“搜索文本(“abc”)-refineSearch扩展(0,10)完成> sh重写行动refineSearch_act_2名称:refineSearch_act_2操作:insert_after_all目标:http.res.body(100)细化搜索:扩展(0,10)价值:“refineSearch_testing”搜索:文本(点击“abc”):0 Undef支安打:行动引用计数:0做< !——NeedCopy >

例 3:全部替换アクションタイプで [絞り込み] 検索機能を使用する。

>添加策略patset pat_list_2 Done>bind policy patset patu list_2“www.abc.com”Done>bind policy patset patu list_2“www.def.com”Done>add rewrite action refineSearch_act_31 replace_all“HTTP.RES.BODY(100000)”“https:/”“-search”patset(“patu list_2”)“-refineSearch”EXTEND(7,0).REGEX_SELECT(re#HTTP:/#)”完成>sh重写操作精简搜索行为名称:精简搜索行为操作:替换所有目标:HTTP.RES.BODY(100000)精简搜索:扩展(7,0)。正则表达式选择值:“https:/”搜索:patset(“pat_list_2”)命中:0未定义命中:0操作引用计数:0完成<!--NeedCopy-->

例4:DELETE_ALLアクションタイプで(検索の絞り込み]機能を使用する。

>添加重写操作精简搜索\u act\u 4删除所有“HTTP.RES.BODY(50000)”-搜索文本(“Windows桌面”)-精简搜索”扩展(40,40)。正则表达式选择(re\s*\*\s\*<\\\/AppData>\)>显示重写操作精简搜索\u act\u 4名称:精简搜索\u act\u 4操作:删除所有目标:HTTP.RES.BODY(50000)精简搜索:扩展(40,40)。正则表达式选择(re#\s*\*\s\*#)搜索:文本(“Windows桌面”)点击:0未定义点击:0操作引用计数:0完成><!--NeedCopy-->

例5:CLIENTLESS_VPN_ENCODE_ALLアクションタイプで“検索の絞り込み”機能を使用する。

“‘

add rewrite action act2 clientless_vpn_encode_all http.req.body(100) -search text(" abcd ") Done sh rewrite action act2 Name: act1 Operation: clientless_vpn_encode_all Target:http.req.body(100) Search: text(" abcd ") Hits: 0 Undef Hits: 0 action Reference Count: 0 Done

“‘

例6:CLIENTLESS_VPN_DECODE_ALLアクションタイプで“検索の絞り込み”機能を使用する。

> sh重写动作act1 Name: act1 Operation: clientless_vpn_decode_all Target:http.req.body(100) Search: text("abcd") Hits: 0 Undef Hits: 0 action Reference Count: 0 Done > 

コマンドラインインターフェイスを使用して既存の書き換えアクションを変更する

コマンドプロンプトで次のコマンドを入力して,既存の書き換えアクションを変更し,構成を確認します。

  • set rewrite action [-target] [-stringBuilderExpr] [-pattern | -search ] [-refineSearch] [-comment]
  • 显示重写操作

> set重写动作insertact -target "Client-IP" Done > show重写动作insertact Name: insertact Operation: insert_http_header Target:Client-IP Value:CLIENT.IP。SRC Hits: 0 Undef Hits: 0 Action Reference Count: 0 Done 

コマンドラインインターフェイスを使用して書き換えアクションを削除する

コマンドプロンプトで次のコマンドを入力して,書き換えアクションを削除します。

Rm重写动作

> rm重写动作insertact Done 

構成ユーティリティを使用して書き換えアクションを構成する

  1. [AppExpert] >[重写]>[行动]の順に移動します。
  2. 詳細ウィンドウで,次のいずれかの操作を行います。
    • アクションを作成するには、[追加] をクリックします。
    • 既存のアクションを変更するには,アクションを選択し,(編集] をクリックします。
  3. 作成]または[好的]をクリックします。アクションが正常に構成されたことを示すメッセージがステータスバーに表示されます。
  4. 手順2 ~ 4を繰り返して,必要な数の書き換えアクションを作成または変更します。
  5. [閉じる]をクリックします。書き換えアクションを構成する

(式の追加]ダイアログボックスを使用して式を追加する

  1. 書き換えアクションの作成]または[書き換えアクションの設定]ダイアログボックスで,入力する引数型のテキスト領域で,(追加] をクリックします。
  2. 式の追加]ダイアログボックスの最初のリストボックスで,式の最初の用語を選択します。

    • HTTP HTTPプロトコル。HTTPプロトコルに関連するリクエストの側面を調べる場合は,これを選択します。
    • SYS。保護されたWebサイト。リクエストの受信者に関連するリクエストの側面を調べる場合は,これを選択します。
    • クライアント。要求を送信したコンピュータ。リクエストの送信者の側面を調べる場合は,これを選択します。

選択すると,右端のリストボックスに,式の次の部分に適した用語がリストされます。

  1. 2番目のリストボックスで,式の2番目の用語を選択します。選択肢は,前のステップで行った選択によって異なり,コンテキストに適切です。2番目の選択を行った後,[式の構築]ウィンドウの下のヘルプウィンドウ(空白)に,選択した用語の目的と使用法を説明するヘルプが表示されます。

  2. 式が終了するまで,前のリストボックスの右側に表示されるリストボックスから用語を選択するか,値の入力を求めるテキストボックスに文字列または数値を入力します。π式の言語およびレスポンダーポリシーの式の作成の詳細については,”ポリシーと式“を参照してください。

サンプルHTTPデータに対してリライトアクションを使用した場合のエフェクトをテストする場合は,リライト式エバリュエータを使用できます。

TCPペイロードを書き換え

TCP書き換えのアクション内のターゲット式は,次のいずれかの式プレフィックスで開始する必要があります。

  • CLIENT.TCP.PAYLOAD。クライアント要求のTCPペイロードを書き換えるため。たとえば,CLIENT.TCP。有效负载(10000).AFTER_STR (string1)などです。
  • SERVER.TCP.PAYLOAD。サーバー応答の 传输控制协议ペイロードを書き換えるため。たとえば、SERVER.TCP.PAYLOAD(1000).B64DECODE.BETUMEN(“string1”、“string2”)など。

[書き換えアクションエバリュエータ] ダイアログボックスを使用して書き換えアクションを評価する

  1. 書き換えアクション]の詳細ウィンドウで,評価する書き換えアクションを選択し,(評価] をクリックします。
  2. (式エバリュエーターを書き換え]ダイアログボックスで,次のパラメータの値を指定します。(アスタリスクは必須パラメータを示します)。

    “書き換えアクション”(重写操作)——評価する書き換えアクションがまだ選択されていない場合は,ドロップダウンリストから選択します。書き換えアクションを選択すると,“詳細”セクションに,選択した書き換えアクションの詳細が表示されます。“新規(新)”——“新規作成”(新)を選択して”書き換えアクションを作成”(创建重写操作)ダイアログボックスを開“変更”(修改)——“修正”(修改)を選択して”書き換えアクションを設定”(配置)ダイアログボックスを開き,選択した書き換えフロータイプ:選択した書き換えアクションをHTTPリクエストデータまたはHTTP応答データのどちらでテストするかを指定します。デフォルトは[リクエスト]です。応答データでテストする場合は,[応答]を選択します。HTTP要求/応答データ*:書き換えアクションエバリュエーターがテストに使用するHTTPデータを提供するスペースを提供します。データをウィンドウに直接貼り付けるか,(样本)をクリックしてサンプルHTTPヘッダーを挿入できます。行末を表示,サンプルHTTPデータの各行の末尾にUNIXスタイルの行末文字(\ n)を表示するかどうかを指定します。[サンプル]:HTTPリクエスト/レスポンスデータウィンドウにサンプルHTTPデータを挿入します。得到またはPOSTデータを選択できます。(参照(浏览)]:ローカルブラウズウィンドウが開き,ローカルまたはネットワークロケーションのサンプルHTTPデータを含むファイルを選択できます。[クリア(清晰)]:[HTTP要求/応答データ]ウィンドウから現在のサンプルHTTPデータを消去します。

  3. [評価]をクリックします。書き換えアクションエバリュエーターは,選択したサンプルデータに対する書き換えアクションの効果を評価し,[結果]ウィンドウで選択した[書き換えアクションによって変更された結果を表示します。追加および削除は、ダイアログボックスの左下隅の凡例に示されているように強調表示されます。
  4. すべてのアクションが希望する効果があると判断するまで、書き換えアクションを評価し続けます。

    • 選択した書き換えアクションを修正し,変更したバージョンをテストするには,(修正]をクリックして[書き換えアクションの構成]ダイアログボックスを開き,変更内容を保存し,もう一度[評価]をクリックします。
    • 同じリクエストまたはレスポンスデータを使用して,別の書き換えアクションを評価するには,(書き換えアクション]ドロップダウンリストからそれを選択し,もう一度(評価] をクリックします。
  5. 閉じる]をクリックして,(式の書き換えエバリュエーター] を閉じ、[書き換え操作] ウィンドウに戻ります。

  6. 書き換えアクションを削除するには,削除する書き換えアクションを選択し,”削除“をクリックし,プロンプトが表示されたら,”“好的”をクリックして選択を確定します。書き換えアクションを評価する