3.5.5 送信先対応付け定義(address_destination/HTTPの場合)
形式
{{address_destination -p http {{-s "ipaddr=既存システムのサーバIPアドレス [portno=既存システムのサーバポート番号]"}} [{{-t "ipaddr=テスト対象システムのサーバIPアドレス portno=テスト対象システムのサーバポート番号 [,テスト対象システムのサーバポート番号…] [ssl_use={Y|N}] [ssl_protocol=暗号プロトコル] "}}] [{{-c "ipaddr=外部システムのクライアントIPアドレス [portno= 外部システムのクライアントポート番号]"}}] [-h "[ipaddr=HSICのクライアントIPアドレス] [portno= HSICのクライアントポート番号]"] [-b "[syssndsize=システムメッセージ送信バッファ長]"] [-k "[nodelay={Y|N}] [cnrelease={fin|rst}]"] [-i "[watchtime=無通信時間] [connect_stopmsg={Y | N}]"] }} }}
機能
送信先対応付け定義
既存システムサーバの要求電文送信先と、テスト対象システムのサーバの送信先IPアドレス、ポート番号を対応付ける定義です。
複数のaddress_destination定義の-sオプションで同一のIPアドレス、ポート番号の組み合わせを指定した場合、先に定義した定義が有効となります。ただし、-sオプションが同一のaddress_destination定義でも-cオプションのIPアドレス/ポート番号が異なる場合は、そのaddress_destination定義は有効となります。しかし、電文が複数のaddress_destination定義に該当した場合は先に定義した定義が有効となります。
- 例1)
-
- 定義A
-
-s“ipaddr=192.168.172.2 portno=30000”
-c“ipaddr=192.168.172.3 portno=10000”
- 定義B
-
-s“ipaddr=192.168.172.2 portno=30000”
-c“ipaddr=192.168.172.4 portno=20000”
定義Aと定義Bの-sオプションは同一ですが、-cオプションが異なるので、定義A、B共に有効となります。
- 例2)
-
- 定義A
-
-s“ipaddr=192.168.172.2 portno=30000”
(-c 省略)
- 定義B
-
-s“ipaddr=192.168.172.2 portno=30000”
-c“ipaddr=192.168.172.3 portno=10000”
定義Aにも定義Bにも該当する電文は定義Aが有効となります。それ以外の電文も、定義Aが有効となります。
- 例3)
-
- 定義A
-
-s“ipaddr=192.168.172.2 portno=30000”
-c“ipaddr=192.168.172.3 portno=10000”
- 定義B
-
-s“ipaddr=192.168.172.2 portno=30000”
(-c 省略)
定義Aにも定義Bにも該当する電文は定義Aが有効となります。それ以外の電文は、定義Bが有効となります。
また、IPアドレスが同一でポート番号が範囲指定で重複した場合は先に記述した定義のポート番号の範囲をその定義で有効とし、重複していない範囲を後に記述した定義で有効とします。
- 例)
-
定義A -s“ipaddr=192.168.172.2 portno=10000-30000”
定義B -s“ipaddr=192.168.172.2 portno=20000-40000”
上記の場合、定義AはIPアドレス192.168.172.2、ポート番号10000-30000、
定義BはIPアドレス192.168.172.2、ポート番号30001-40000が有効となります。
複数のaddress_destination定義の-tオプションかつ、-hオプションで同一のIPアドレス、ポート番号の組み合わせを指定する事はできません。同一のIPアドレス、ポート番号の組み合わせを指定した場合、システムテスト支援はプロセスダウンします。
同一のaddress_destination定義で-tを複数指定した場合、-tで指定したIPアドレス、ポート番号の組み合わせが重複した場合、システムテスト支援はプロセスダウンします。
-
-sで指定したIPアドレスへの要求電文、および-sで指定したIPアドレスからの応答電文をキャプチャします。また、-sオプションは定義一つに対して100個まで指定することができます。
-
-tで指定したIPアドレス、ポートにキャプチャした要求電文を送信します。
-
-sまたは、-cを指定する場合、以下のようになります。
- -s portnoを指定する場合
-
既存システム側の特定のポート番号を使用する要求電文をキャプチャすることができます。
- -c ipaddr、portnoを指定する場合
-
特定の外部システムのIPアドレス、ポート番号からの要求電文のみキャプチャすることができます。
指定数
0〜99999
オプション:-p
- なし
-
- 設定値と省略値
-
http
- 説明
-
電文の通信プロトコルを指定します。
http:http
オプション:-s
(注)-sは一つのaddress_destination定義に対して最大100個定義することができます。また、全てのaddress_destination定義の-sは合計で最大99999個定義できます。
- ipaddr
-
- 設定値と省略値
-
既存システムのIPアドレス(nnn.nnn.nnn.nnn)
〈符号なし整数〉((0〜255))
- 説明
-
外部システムから電文を送信する送信先の既存システムのIPアドレスをnnn.nnn.nnn.nnnの形式で指定します。
nnnは0以上255以下の数を指定してください。
ただし、0.0.0.0および255.255.255.255は指定できません。
- ほかのオペランドとの関連
-
本オペランドで指定するIPアドレスは、capture_definition定義の-fオプションipaddrオペランドで指定した範囲内のIPアドレスを指定してください。
本オペランドで指定したIPアドレスがcapture_definition定義-fオプションipaddrオペランドの指定範囲外の場合、パケットをキャプチャされません。
詳細は「3.4.1 パケットキャプチャに関する定義(capture_definition)」を参照してください。
- portno
-
- 設定値と省略値
-
既存システムのポート番号〈符号なし整数〉((1〜65535))
省略すると、すべてのポート番号を対象にします。
- 説明
-
外部システムから電文を送信する送信先の既存システムのポート番号を指定します。
オプション:-t
(注)HTTPでは-tフラグは指定必須です。ただし、蓄積実行のときだけ、-tは省略できます。また他の実行形態をesmodaddコマンドで追加することもできません。
- ipaddr
-
- 設定値と省略値
-
テスト対象システムのIPアドレス(nnn.nnn.nnn.nnn)
〈符号なし整数〉((0〜255))
- 説明
-
外部システムからの電文を送信する送信先のテスト対象システムのIPアドレスをnnn.nnn.nnn.nnnの形式で指定します。
nnnは0以上255以下の数を指定してください。
ただし、0.0.0.0および255.255.255.255は指定できません。
- portno
-
- 設定値と省略値
-
テスト対象システムのポート番号〈符号なし整数〉((1〜65535))
- 説明
-
外部システムからの電文を送信する送信先のテスト対象システムのポート番号を指定します。
- ssl_use
-
- 設定値と省略値
-
Y|N《N》
- 説明
-
HSICとテスト対象システム間において、SSLで暗号化したHTTPS通信を行うか否かを指定します。
Y:HTTPS通信を行います
N:HTTPS通信を行いません。この場合、平文のHTTP通信となります。
- 前提条件
-
HSIC実行マシン上にOpenSSLバージョン1.0.1以降がインストールされている必要があります。
Windowsの場合は、環境変数PATHに「OpenSSLインストールディレクトリ\bin」が指定されている必要があります。
Linuxの場合は、環境変数LD_LIBRARY_PATHにOpenSSLライブラリを格納しているパスが指定されている必要があります。
- ほかのオペランドとの関連
-
-pオプションに「http」を指定した場合のみ、本フラグメンバにYを指定できます。「http」以外で本フラグメンバを指定した場合は、HSICの起動が失敗します。
- 利点
-
HTTPSに対応しているテスト対象システムのテストが行えます。
- ssl_protocol
-
- 設定値と省略値
-
SSL2|SSL3|TLS1.0|TLS1.1|TLS1.2|DEFAULT|ALL《DEFAULT》
- 説明
-
HTTPS通信で使用する暗号プロトコルを指定します。ALL、DEFAULT以外の場合は、コロン(:)区切りで複数プロトコルを指定できます
例:SSL V3.0とTLS V1.0を使用する場合、「ssl_protocol=SSL3:TLS1.0」と指定する。
SSL2 :SSL V2.0を使用する
SSL3 :SSL V3.0を使用する
TLS1.0 :TLS V1.0を使用する
TLS1.1 :TLS V1.1を使用する
TLS1.2 :TLS V1.2を使用する
ALL :上記すべての暗号プロトコルを使用する
DEFAULT :SSL V2.0とSSL V3.0以外の暗号プロトコルを使用する
HTTPS通信で使用する暗号アルゴリズムは、指定した暗号プロトコルの中から、テスト対象システムとのSSLハンドシェイクにより決定されます。指定した全ての暗号プロトコルがテスト対象システムで使用できない(未サポート又は使用禁止)場合、SSLハンドシェイクがエラーとなり、テストが失敗します。
- ほかのオペランドとの関連
-
ssl_useフラグメンバに「Y」以外の場合、本フラグメンバは無視します。
- 利点
-
任意の暗号プロトコルを指定する事により、次のような問題を回避できます。
-
デフォルトで使用する暗号プロトコルが、テスト対象システムで使用できない
-
脆弱性等の問題により、特定の暗号プロトコルを使用したくない
-
オプション:-c
(注)-cは1つのaddress_destination定義に対して最大64個定義することができます。65個以上定義した場合、HSICの起動に失敗します。
- ipaddr
-
- 設定値と省略値
-
外部システムのIPアドレス(nnn.nnn.nnn.nnn)
〈符号なし整数〉((0〜255))《0.0.0.0》
- 説明
-
既存システムへ電文を送信する外部システムのIPアドレスをnnn.nnn.nnn.nnnの形式で指定します。
nnnは0以上255以下の数を指定してください。
本フラグメンバを省略した場合、または、0.0.0.0を指定した場合は、外部システムのIPアドレスは任意となります。
- portno
-
- 設定値と省略値
-
外部システムのポート番号〈符号なし整数〉((0〜65535))《0》
- 説明
-
外部システムのポート番号を指定します。
本フラグメンバを省略した場合、または0を指定した場合は、外部システムのポート番号は任意となります。
ポート番号は範囲指定での指定が可能です。
ポート番号の範囲指定
xxxx-yyyy
xxxxからyyyyまでのポート番号を外部システムのポート番号とします。xxxxはyyyy以下の値を指定してください。また、xxxxに0は指定できません。
- 利点
-
テスト対象システムが特定のIPアドレスからのパケットしか受信しないような場合に、本フラグメンバを指定することで、IPアドレスを特定することができます。
オプション:-h
- ipaddr
-
- 設定値と省略値
-
システムテスト支援のIPアドレス(nnn.nnn.nnn.nnn)
〈符号なし整数〉((0〜255))《0.0.0.0》
- 説明
-
テスト対象システムへ電文を送信するシステムテスト支援のIPアドレスをnnn.nnn.nnn.nnnの形式で指定します。
nnnは0以上255以下の数を指定してください。
本フラグメンバを省略した場合、または、0.0.0.0を指定した場合、IPアドレスはOSが自動割当します。
- portno
-
- 設定値と省略値
-
システムテスト支援のポート番号〈符号なし整数〉((0〜65535))《0》
- 説明
-
テスト対象システムへ電文を送信するシステムテスト支援のポート番号を指定します。
本フラグメンバを省略した場合、または0を指定した場合は、ポート番号はOSが自動割当します。
portnoのみを指定する場合は、-kオプションcnmodeフラグメンバでserverを指定した定義と重複する値を使用しないでください。
- 利点
-
テスト対象システムが特定のポート番号からのパケットしか受信しないような場合に、本フラグメンバを指定することで、ポート番号を特定することができます。
オプション:-b
- syssndsize
-
- 設定値と省略値
-
〈符号なし整数〉((1〜2147483647))《OSのデフォルト値》
(単位:バイト)
- 説明
-
HTTPで使用するソケットのソケット送信バッファのサイズをバイト単位で指定します。
本フラグメンバの指定を省略するとOSのデフォルト値が仮定されます。
- 備考
-
Linux版では、カーネルの仕様によりソケット送信バッファは本フラグメンバ指定値の2倍のサイズが確保されます。また、ソケット送信バッファサイズの最大値はカーネルパラメタにより制限されており、最大値より大きいサイズを確保しようとした場合、確保サイズは最大値となります。その為、以下の条件が成立するよう本フラグメンバ及び、カーネルパラメタを調整してください。
「(本フラグメンバ指定値×2) <= net.ipv4.tcp_wmemのmax値」
Windows版では設定値の上限はありません。
オプション:-k
- nodelay
-
- 設定値と省略値
-
Y|N《N》
- 説明
-
TCP/IPが提供するソケットオプション「TCP_NODELAY」を使用するかどうかを指定します。
Y:「TCP_NODELAY」を使用する
N:「TCP_NODELAY」を使用しない
- 利点
-
「TCP_NODELAY」を使用することで送信済みデータの応答待ちの状態でも遅延させることなくデータ送信ができるようになります。
- 注意事項
-
「TCP_NODELAY」を使用することでネットワークの負荷は大きくなります。
- cnrelease
-
- 設定値と省略値
-
fin|rst《fin》
- 説明
-
コネクションの解放形態を指定します。
fin:FINパケットを送信してコネクションを解放します
rst:RSTパケットを送信してコネクションを解放します
- 注意事項
-
本フラグメンバにfinを設定したとしても、ネットワーク上のデータのすれ違い等により指示とは関係なくRSTパケットを送信する場合があります。
オプション:-i
- watchtime
-
- 設定値と省略値
-
〈符号なし整数〉((0〜65535))《3600》(単位:秒)
- 説明
-
外部システムと既存システム間のコネクションの無通信時間を指定します。
対象のコネクションにおいて、最後に電文を処理した時刻から本定義時間以上経過後も電文登録がない場合、テスト対象システムとの間のコネクションを解放します。
本フラグメンバに0を指定した場合は、コネクションを解放しません。
- 利点
-
外部システムと既存システム間のコネクションが解放されたときに、FINやRSTをキャプチャ出来なかった場合でも、コネクションを解放することができます。
- 指定値の目安
-
HTTPでは、「watchtime≧外部システムのHTTP応答待ち時間」となるようwatchtimeを設定してください。「watchtime<外部システムのHTTP応答待ち時間」となると、外部システムではHTTP応答電文を受信するが、HSICでは応答電文を受信することなく応答待ち状態を中止する可能性があります。
- connect_stopmsg
-
- 設定値と省略値
-
Y|N《Y》
- 説明
-
テスト対象システムのコネクションを相手プロセス側が切断(RST検知)した場合に、KFSE43310-Wメッセージを出力するかどうかを指定します。
Y:メッセージを出力します。
N:メッセージを出力しません。
- 利点
-
メッセージが大量に出力されることを抑止できます。