⚠️ これは 非公式の翻訳サイトです。DCMTK / OFFIS とは無関係です。正確な情報は 原文(https://support.dcmtk.org/docs/echoscu.html) を参照してください。

echoscu: DICOM 検証(C-ECHO)SCU

書式

echoscu [options] peer port

説明

echoscu は Verification SOP Class に対する Service Class User(SCU)を実装したアプリケーションです。DICOM の C-ECHO メッセージを Service Class Provider(SCP)へ送信し、その応答を待ちます。基本的な DICOM 接続性の確認に利用できます。

引数

peer  hostname of DICOM peer

port  tcp/ip port number of peer

オプション

全般オプション

-h --help
このヘルプを表示して終了します
--version
バージョン情報を表示して終了します
--arguments
展開後のコマンドライン引数を表示します
-q --quiet
quiet モード。警告やエラーを表示しません
-v --verbose
verbose モード。処理の詳細を表示します
-d --debug
debug モード。デバッグ情報を表示します
-ll --log-level [l]evel: string constant
(fatal, error, warn, info, debug, trace) ロガーにレベル l を使用します
-lc --log-config [f]ilename: string
ロガーに設定ファイル f を使用します

ネットワークオプション

-i4 --ipv4
IPv4 のみを使用します(既定値)
-i6 --ipv6
IPv6 のみを使用します
-i0 --ip-auto
DNS ルックアップで IP プロトコルを判定します application entity titles:
-aet --aetitle [a]etitle: string
自分の calling AE title を設定します(既定値: ECHOSCU)
-aec --call [a]etitle: string
相手の called AE title を設定します(既定値: ANY-SCP) association negotiation debugging:
-pts --propose-ts [n]umber: integer (1..53)
n 個の転送構文を提案します
-ppc --propose-pc [n]umber: integer (1..128)
n 個の presentation context を提案します other network options:
-to --timeout [s]econds: integer (default: unlimited)
接続要求のタイムアウト
-ts --socket-timeout [s]econds: integer (default: 60)
ネットワークソケットのタイムアウト(0 で無効)
-ta --acse-timeout [s]econds: integer (default: 30)
ACSE メッセージのタイムアウト
-td --dimse-timeout [s]econds: integer (default: unlimited)
DIMSE メッセージのタイムアウト
-pdu --max-pdu [n]umber of bytes: integer (4096..131072)
受信 PDU の最大サイズを n バイトに設定します(既定値: 16384)
--repeat [n]umber: integer
n 回繰り返します
--abort
アソシエーションを解放せずに中断します

トランスポート層セキュリティ(TLS)オプション

-tls --disable-tls
通常の TCP/IP 接続を使用します(既定値)
+tls --enable-tls [p]rivate key file, [c]ertificate file: string
認証付きのセキュアな TLS 接続を使用します
+tla --anonymous-tls
証明書なしでセキュアな TLS 接続を使用します private key password (only with --enable-tls):
+ps --std-passwd
パスワードを標準入力から入力するよう促します(既定値)
+pw --use-passwd [p]assword: string
指定したパスワードを使用します
-pw --null-passwd
パスワードに空文字列を使用します key and certificate file format:
-pem --pem-keys
鍵と証明書を PEM ファイルとして読み込みます(既定値)
-der --der-keys
鍵と証明書を DER ファイルとして読み込みます certification authority:
+cf --add-cert-file [f]ilename: string
証明書ファイルを証明書リストに追加します
+cd --add-cert-dir [d]irectory: string
d 内の証明書を証明書リストに追加します
+crl --add-crl-file [f]ilename: string
証明書失効リストファイルを追加します(--enable-crl-vfy を含意します)
+crv --enable-crl-vfy
リーフ証明書の CRL 検証を有効にします
+cra --enable-crl-all
チェーン全体の CRL 検証を有効にします security profile:
+ph --list-profiles
対応する TLS プロファイルを一覧表示して終了します
+pg --profile-8996
BCP 195 RFC 8996 TLS Profile(既定値)
+pm --profile-8996-mod
Modified BCP 195 RFC 8996 TLS Profile # only available if underlying TLS library supports # all TLS features required for this profile
+py --profile-bcp195-nd
Non-downgrading BCP 195 TLS Profile(廃止)
+px --profile-bcp195
BCP 195 TLS Profile(廃止)
+pz --profile-bcp195-ex
Extended BCP 195 TLS Profile(廃止)
+pb --profile-basic
Basic TLS Secure Transport Connection Profile(廃止) # only available if underlying TLS library supports 3DES
+pa --profile-aes
AES TLS Secure Transport Connection Profile(廃止)
+pn --profile-null
認証付き非暗号化通信(廃止。IHE ATNA で使用されていました) ciphersuite:
+cc --list-ciphers
対応する TLS 暗号スイートを一覧表示して終了します
+cs --cipher [c]iphersuite name: string
暗号スイートをネゴシエーション対象のリストに追加します server name indication:
--no-sni
SNI を使用しません(既定値)
--request-sni [s]erver name: string
サーバ名 s を要求します pseudo random generator:
+rs --seed [f]ilename: string
f の内容で乱数生成器をシードします
+ws --write-seed
変更後のシードを書き戻します(--seed 指定時のみ)
+wf --write-seed-file [f]ilename: string (only with --seed)
変更後のシードをファイル f へ書き出します peer authentication:
-rc --require-peer-cert
相手の証明書を検証し、なければ失敗とします(既定値)
-ic --ignore-peer-cert
相手の証明書を検証しません offline certificate verification:
+vc --verify-cert [f]ilename: string
CA 設定に対して証明書を検証します # Load a client certificate and check whether it would be accepted # when received during a TLS handshake. Print result and exit.
+rc --is-root-cert [f]ilename: string
証明書が自己署名のルート CA かどうかを確認します # Load a client certificate and check whether it is a valid, # self-signed root CA certificate. Print result and exit.

注記

DICOM 適合性

echoscu は SCU として次の SOP Class に対応しています。

VerificationSOPClass                                1.2.840.10008.1.1

既定では、echoscu は次の転送構文のみを提案します。

LittleEndianImplicitTransferSyntax                  1.2.840.10008.1.2

–propose-ts オプションを使用した場合、このオプションに渡す数値「n」に応じて、次の転送構文も追加で提案されます。

LittleEndianExplicitTransferSyntax                  1.2.840.10008.1.2.1
BigEndianExplicitTransferSyntax                     1.2.840.10008.1.2.2
JPEGProcess1TransferSyntax                          1.2.840.10008.1.2.4.50
JPEGProcess2_4TransferSyntax                        1.2.840.10008.1.2.4.51
JPEGProcess3_5TransferSyntax                        1.2.840.10008.1.2.4.52
JPEGProcess6_8TransferSyntax                        1.2.840.10008.1.2.4.53
JPEGProcess7_9TransferSyntax                        1.2.840.10008.1.2.4.54
JPEGProcess10_12TransferSyntax                      1.2.840.10008.1.2.4.55
JPEGProcess11_13TransferSyntax                      1.2.840.10008.1.2.4.56
JPEGProcess14TransferSyntax                         1.2.840.10008.1.2.4.57
JPEGProcess15TransferSyntax                         1.2.840.10008.1.2.4.58
JPEGProcess16_18TransferSyntax                      1.2.840.10008.1.2.4.59
JPEGProcess17_19TransferSyntax                      1.2.840.10008.1.2.4.60
JPEGProcess20_22TransferSyntax                      1.2.840.10008.1.2.4.61
JPEGProcess21_23TransferSyntax                      1.2.840.10008.1.2.4.62
JPEGProcess24_26TransferSyntax                      1.2.840.10008.1.2.4.63
JPEGProcess25_27TransferSyntax                      1.2.840.10008.1.2.4.64
JPEGProcess28TransferSyntax                         1.2.840.10008.1.2.4.65
JPEGProcess29TransferSyntax                         1.2.840.10008.1.2.4.66
JPEGProcess14SV1TransferSyntax                      1.2.840.10008.1.2.4.70
RLELosslessTransferSyntax                           1.2.840.10008.1.2.5
DeflatedExplicitVRLittleEndianTransferSyntax        1.2.840.10008.1.2.1.99
JPEGLSLosslessTransferSyntax                        1.2.840.10008.1.2.4.80
JPEGLSLossyTransferSyntax                           1.2.840.10008.1.2.4.81
JPEG2000LosslessOnlyTransferSyntax                  1.2.840.10008.1.2.4.90
JPEG2000TransferSyntax                              1.2.840.10008.1.2.4.91
JPEG2000Part2MulticomponentImageComp.LosslessOnlyT. 1.2.840.10008.1.2.4.92
JPEG2000Part2MulticomponentImageComp.TransferSyntax 1.2.804.10008.1.2.4.93
MPEG2MainProfileAtMainLevelTransferSyntax           1.2.840.10008.1.2.4.100
MPEG2MainProfileAtHighLevelTransferSyntax           1.2.840.10008.1.2.4.101
MPEG4HighProfileLevel4_1TransferSyntax              1.2.840.10008.1.2.4.102
MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax  1.2.840.10008.1.2.4.103
MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax   1.2.840.10008.1.2.4.104
MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax   1.2.840.10008.1.2.4.105
MPEG4StereoHighProfileLevel4_2TransferSyntax        1.2.840.10008.1.2.4.106
HEVCMainProfileLevel5_1TransferSyntax               1.2.840.10008.1.2.4.107
HEVCMain10ProfileLevel5_1TransferSyntax             1.2.840.10008.1.2.4.108
FragmentableMPEG2MainProfileMainLevelTransferSyntax 1.2.840.10008.1.2.4.100.1
FragmentableMPEG2MainProfileHighLevelTransferSyntax 1.2.840.10008.1.2.4.101.1
FragmentableMPEG4HighProfileLevel4_1TransferSyntax  1.2.840.10008.1.2.4.102.1
FragmentableMPEG4BDcompatibleHighProfileLevel4_1Tr. 1.2.840.10008.1.2.4.103.1
FragmentableMPEG4HighProfileLevel4_2_For2DVideoTr.S 1.2.840.10008.1.2.4.104.1
FragmentableMPEG4HighProfileLevel4_2_For3DVideoTr.S 1.2.840.10008.1.2.4.105.1
FragmentableMPEG4StereoHighProfileLevel4_2TransferS 1.2.840.10008.1.2.4.106.1
HighThroughputJPEG2000ImageCompressionLossless.Tr.S 1.2.840.10008.1.2.4.201
HighThroughputJPEG2000RPCLImageCompressionLoss.Tr.S 1.2.840.10008.1.2.4.202
HighThroughputJPEG2000ImageCompressionTransferSynt. 1.2.840.10008.1.2.4.203

ロギング

各コマンドラインツールおよびその基盤ライブラリのログ出力レベルは、ユーザーが指定できます。既定では、エラーと警告のみが標準エラー出力へ書き出されます。–verbose オプションを使うと、処理の詳細などの情報メッセージも出力されます。–debug オプションを使うと、デバッグなどの目的で内部動作の詳細をさらに得られます。その他のログレベルは –log-level オプションで選択できます。–quiet モードでは致命的エラーのみが報告されます。このような極めて重大なエラーが発生した場合、アプリケーションは通常そのまま終了します。各ログレベルの詳細については、モジュール「oflog」のドキュメントを参照してください。

ログ出力をファイルへ書き出したい場合(任意でログファイルのローテーションを伴う)、あるいは syslog(Unix)やイベントログ(Windows)へ出力したい場合は、–log-config オプションを使用できます。この設定ファイルでは、特定のメッセージのみを特定の出力ストリームへ振り分けたり、メッセージを生成したモジュールやアプリケーションに基づいて特定のメッセージをフィルタリングしたりすることもできます。設定ファイルの例は < etcdir>/logger.cfg に用意されています。

コマンドライン

すべてのコマンドラインツールは、引数に次の記法を用います。角括弧は省略可能な値(0〜1個)を囲みます。末尾の3点リーダーは複数の値が許されること(1〜n個)を示します。両者の組み合わせは0〜n個の値を意味します。

コマンドラインオプションは、先頭の '+' または '-' 記号によって引数と区別されます。通常、コマンドラインオプションの順序や位置は任意であり、どこに現れてもかまいません。ただし、相互排他のオプションについては、最も右に現れたものが採用されます。この挙動は、一般的な Unix シェルの標準的な評価規則に従っています。

さらに、ファイル名の前に '@' 記号を付けることで、1つ以上のコマンドファイルを指定できます(例: @command.txt)。このようなコマンド引数は、以降の評価に先立って、対応するテキストファイルの内容に置き換えられます(連続する空白は、引用符で囲まれていない限り単一の区切りとして扱われます)。なお、コマンドファイルの中に別のコマンドファイルを含めることはできません。この単純ながら効果的な仕組みにより、よく使うオプションや引数の組み合わせをまとめ、長くて分かりにくいコマンドラインを避けられます(例は < datadir>/dumppat.txt に用意されています)。

終了コード

echoscu は終了時に次の終了コードを使用します。これにより、アプリケーションが終了した理由をユーザーが確認できます。

全般

EXITCODE_NO_ERROR                         0
EXITCODE_COMMANDLINE_SYNTAX_ERROR         1

入力ファイルエラー

EXITCODE_CANNOT_READ_INPUT_FILE          20 (*)
EXITCODE_INVALID_INPUT_FILE              22

出力ファイルエラー

EXITCODE_CANNOT_WRITE_OUTPUT_FILE        40 (*)

ネットワークエラー

EXITCODE_CANNOT_INITIALIZE_NETWORK       60 (*)
EXITCODE_ASSOCIATION_ABORTED             70

() これらのコードは現在のところ echoscu* では実際には使用されていませんが、対応する終了コード群のプレースホルダーとして用意されています。

環境変数

echoscu は、DCMDICTPATH 環境変数で指定された DICOM データ辞書の読み込みを試みます。既定では、すなわち DCMDICTPATH 環境変数が設定されていない場合、データ辞書がアプリケーションに組み込まれていない限り(Windows では既定で組み込み)、ファイル < datadir>/dicom.dic が読み込まれます。

通常はこの既定の動作が望ましく、DCMDICTPATH 環境変数は別のデータ辞書が必要な場合にのみ使用すべきです。DCMDICTPATH 環境変数の形式は Unix シェルの PATH 変数と同じで、エントリをコロン(":")で区切ります。Windows システムでは区切りにセミコロン(";")を使います。データ辞書のコードは、DCMDICTPATH 環境変数で指定された各ファイルの読み込みを試みます。データ辞書を一つも読み込めない場合はエラーとなります。

Copyright (C) 1994-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.