| echoscu(1) | OFFIS DCMTK | echoscu(1) |
نام (NAME)
echoscu - کاربر کلاس سرویس (SCU) برای راستیآزمایی DICOM (C-ECHO)
خلاصه دستور (SYNOPSIS)
echoscu [options] peer port
توضیحات (DESCRIPTION)
برنامه echoscu یک کاربر کلاس سرویس (SCU) را برای Verification SOP Class پیادهسازی میکند. این برنامه یک پیام C-ECHO دایکام (DICOM) را به یک ارائهدهنده کلاس سرویس (SCP) ارسال کرده و منتظر پاسخ میماند. از این برنامه میتوان برای بررسی و اعتبارسنجی برقراری ارتباط اولیهی DICOM استفاده کرد.
پارامترها (PARAMETERS)
peer نام میزبان (hostname) طرف ارتباطی DICOM port شماره درگاه (port) پروتکل tcp/ip طرف ارتباطی
گزینهها (OPTIONS)
گزینههای عمومی (general options)
-h --help
چاپ این متن راهنما و خروج
--version
چاپ اطلاعات نسخه و خروج
--arguments
چاپ آرگومانهای بسطیافته خط فرمان
-q --quiet
حالت بیصدا، عدم چاپ هشدارها و خطاها
-v --verbose
حالت پرگو، چاپ جزئیات پردازش
-d --debug
حالت اشکالزدایی، چاپ اطلاعات دیباگ
-ll --log-level [l]evel: string constant
(fatal, error, warn, info, debug, trace)
استفاده از سطح l برای ثبتکننده وقایع (logger)
-lc --log-config [f]ilename: string
استفاده از فایل پیکربندی f برای ثبتکننده وقایع
گزینههای شبکه (network options)
نسخه پروتکل IP:
-i4 --ipv4
استفاده انحصاری از IPv4 (پیشفرض)
-i6 --ipv6
استفاده انحصاری از IPv6
-i0 --ip-auto
استفاده از بررسی DNS برای تعیین خودکار پروتکل IP
عناوین موجودیت برنامه (AE Titles):
-aet --aetitle [a]etitle: string
تنظیم AE title فراخواننده برنامه (پیشفرض: ECHOSCU)
-aec --call [a]etitle: string
تنظیم AE title فراخواندهشده طرف ارتباط (پیشفرض: ANY-SCP)
اشکالزدایی مذاکره ارتباط (association negotiation):
-pts --propose-ts [n]umber: integer (1..53)
پیشنهاد n نحو انتقال (transfer syntax)
-ppc --propose-pc [n]umber: integer (1..128)
پیشنهاد n بافت ارائهدهنده (presentation context)
سایر گزینههای شبکه:
-to --timeout [s]econds: integer (پیشفرض: نامحدود)
مهلت زمانی برای درخواستهای اتصال
-ts --socket-timeout [s]econds: integer (پیشفرض: 60)
مهلت زمانی برای سوکت شبکه (0 برای نامحدود)
-ta --acse-timeout [s]econds: integer (پیشفرض: 30)
مهلت زمانی برای پیامهای ACSE
-td --dimse-timeout [s]econds: integer (پیشفرض: نامحدود)
مهلت زمانی برای پیامهای DIMSE
-pdu --max-pdu [n]umber of bytes: integer (4096..131072)
تنظیم حداکثر pdu دریافتی به n بایت (پیشفرض: 16384)
--repeat [n]umber: integer
تکرار به تعداد n بار
--abort
قطع ارتباط (abort) بهجای بستن عادی آن (release)
گزینههای امنیت لایه انتقال (TLS)
پشته پروتکل انتقال:
-tls --disable-tls
استفاده از اتصال عادی TCP/IP (پیشفرض)
+tls --enable-tls [p]rivate key file, [c]ertificate file: string
استفاده از اتصال امن و احرازهویتشده TLS
+tla --anonymous-tls
استفاده از اتصال امن TLS بدون گواهی
گذرواژه کلید خصوصی (تنها همراه با --enable-tls):
+ps --std-passwd
درخواست از کاربر برای وارد کردن گذرواژه در stdin (پیشفرض)
+pw --use-passwd [p]assword: string
استفاده از گذرواژه مشخصشده
-pw --null-passwd
استفاده از رشته خالی به عنوان گذرواژه
قالب فایل کلید و گواهی:
-pem --pem-keys
خواندن کلیدها و گواهیها در قالب فایل PEM (پیشفرض)
-der --der-keys
خواندن کلیدها و گواهیها در قالب فایل DER
مرجع صدور گواهی (CA):
+cf --add-cert-file [f]ilename: string
افزودن فایل گواهی به فهرست گواهیها
+cd --add-cert-dir [d]irectory: string
افزودن گواهیهای موجود در پوشه d به فهرست گواهیها
+crl --add-crl-file [f]ilename: string
افزودن فایل فهرست ابطال گواهی (CRL)
(به همراه فعالسازی ضمنی --enable-crl-vfy)
+crv --enable-crl-vfy
فعالسازی اعتبارسنجی CRL گواهی برگ (leaf)
+cra --enable-crl-all
فعالسازی اعتبارسنجی CRL کل زنجیره
نمایه امنیتی:
+ph --list-profiles
فهرست کردن نمایههای TLS پشتیبانیشده و خروج
+pg --profile-8996
نمایه BCP 195 RFC 8996 TLS (پیشفرض)
+pm --profile-8996-mod
نمایه اصلاحشده BCP 195 RFC 8996 TLS
# تنها در صورتی در دسترس است که کتابخانه زیرین TLS از تمام
# ویژگیهای TLS لازم برای این نمایه پشتیبانی کند
+py --profile-bcp195-nd
نمایه Non-downgrading BCP 195 TLS (منسوخشده)
+px --profile-bcp195
نمایه BCP 195 TLS (منسوخشده)
+pz --profile-bcp195-ex
نمایه Extended BCP 195 TLS (منسوخشده)
+pb --profile-basic
نمایه Basic TLS Secure Transport Connection (منسوخشده)
# تنها در صورتی در دسترس است که کتابخانه زیرین TLS از 3DES پشتیبانی کند
+pa --profile-aes
نمایه AES TLS Secure Transport Connection (منسوخشده)
+pn --profile-null
ارتباط احرازهویتشده رمزنگارینشده
(منسوخشده، در IHE ATNA استفاده میشد)
مجموعه رمز (ciphersuite):
+cc --list-ciphers
فهرست کردن مجموعههای رمز TLS پشتیبانیشده و خروج
+cs --cipher [c]iphersuite name: string
افزودن مجموعه رمز به فهرست مجموعههای مورد مذاکره
نشانگر نام سرور (SNI):
--no-sni
عدم استفاده از SNI (پیشفرض)
--request-sni [s]erver name: string
درخواست نام سرور s
تولیدکننده شبهتصادفی:
+rs --seed [f]ilename: string
مقداردهی اولیه (seed) تولیدکننده تصادفی با محتویات f
+ws --write-seed
بازنویسی مقدار seed اصلاحشده (تنها همراه با --seed)
+wf --write-seed-file [f]ilename: string (تنها همراه با --seed)
نوشتن مقدار seed اصلاحشده در فایل f
احراز هویت طرف ارتباط (peer):
-rc --require-peer-cert
اعتبارسنجی گواهی طرف ارتباط؛ در صورت عدم وجود ناموفق شود (پیشفرض)
-ic --ignore-peer-cert
عدم اعتبارسنجی گواهی طرف ارتباط
اعتبارسنجی برونخط گواهی:
+vc --verify-cert [f]ilename: string
اعتبارسنجی گواهی در برابر تنظیمات CA
# بارگذاری گواهی کلاینت و بررسی این که آیا در حین دستتکانی TLS
# پذیرفته میشود یا خیر. چاپ نتیجه و خروج.
+rc --is-root-cert [f]ilename: string
بررسی خودامضابودن گواهی مرجع ریشه (root CA)
# بارگذاری گواهی کلاینت و بررسی این که آیا یک گواهی معتبر
# و خودامضاشده مرجع ریشه (root CA) است یا خیر. چاپ نتیجه و خروج.
نکات (NOTES)
انطباق با DICOM (DICOM Conformance)
برنامهٔ echoscu از SOP Classهای زیر بهعنوان یک SCU پشتیبانی میکند:
VerificationSOPClass 1.2.840.10008.1.1
بهطور پیشفرض، برنامهٔ echoscu تنها این نحو انتقال (transfer syntax) را پیشنهاد خواهد داد:
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
ثبت وقایع (LOGGING)
سطح خروجی ثبت وقایع در ابزارهای مختلف خط فرمان و کتابخانههای زیربنایی توسط کاربر قابل تعیین است. بهطور پیشفرض، فقط خطاها و هشدارها در جریان خطای استاندارد نوشته میشوند. با استفاده از گزینهٔ --verbose، پیامهای اطلاعاتی مانند جزئیات پردازش نیز گزارش میشوند. گزینهٔ --debug میتواند برای دریافت جزئیات بیشتر دربارهٔ فعالیتهای درونی، برای مثال با اهداف اشکالزدایی بهکار رود. سایر سطوح ثبت وقایع با استفاده از گزینهٔ --log-level قابل انتخاب هستند. در حالت --quiet فقط خطاهای مهلک گزارش میشوند. در رخدادهای خطای بسیار وخیم از این دست، برنامه معمولاً خاتمه مییابد. برای جزئیات بیشتر دربارهٔ سطوح مختلف ثبت وقایع، به مستندات ماژول «oflog» مراجعه کنید.
در صورتی که خروجی ثبت وقایع باید درون یک فایل (اختیاراً به همراه چرخش فایل لاگ)، در syslog (یونیکس) یا event log (ویندوز) نوشته شود، میتوان از گزینهٔ --log-config استفاده کرد. این فایل پیکربندی همچنین امکان هدایت تنها پیامهای خاصی به یک جریان خروجی معین، و فیلتر کردن پیامهای خاص بر اساس ماژول یا برنامهای که در آن ایجاد شدهاند را فراهم میکند. یک نمونه فایل پیکربندی در <etcdir>/logger.cfg ارائه شده است.
خط فرمان (COMMAND LINE)
تمامی ابزارهای خط فرمان از نشانهگذاری زیر برای پارامترها استفاده میکنند: قلابها مقادیر اختیاری را در بر میگیرند (0-1)، سه نقطهٔ پایانی نشان میدهند که چندین مقدار مجاز است (1-n)، و ترکیبی از هر دو به معنای 0 تا n مقدار است.
گزینههای خط فرمان به ترتیب با یک علامت پیشوند «+» یا «-» از پارامترها متمایز میشوند. معمولاً ترتیب و موقعیت گزینههای خط فرمان اختیاری است (یعنی میتوانند در هر جایی ظاهر شوند). با این حال، اگر گزینهها مانعةالجمع باشند، گزینهای که در راستترین موقعیت قرار دارد اعمال میشود. این رفتار با قواعد استاندارد ارزیابی در شلهای متداول یونیکس مطابقت دارد.
علاوه بر این، یک یا چند فایل دستور میتوانند با استفاده از علامت «@» به عنوان پیشوند نام فایل مشخص شوند (مانند @command.txt). چنین آرگومان دستوری پیش از هرگونه ارزیابی بیشتر، با محتوای فایل متنی مربوطه جایگزین میشود (چندین نویسهٔ فاصلهٔ خالی به عنوان یک جداکنندهٔ واحد در نظر گرفته میشوند، مگر آنکه بین دو علامت نقلقول قرار گرفته باشند). لطفاً توجه داشته باشید که یک فایل دستور نمیتواند حاوی فایل دستور دیگری باشد. این رویکرد ساده اما مؤثر امکان خلاصه کردن ترکیبهای متداول گزینهها/پارامترها را فراهم کرده و از خطوط فرمان طولانی و گیجکننده جلوگیری میکند (یک نمونه در فایل <datadir>/dumppat.txt ارائه شده است).
کدهای خروج (EXIT CODES)
ابزار echoscu هنگام خاتمه، از کدهای خروج زیر استفاده میکند. این امر به کاربر امکان میدهد دلیل خاتمه یافتن برنامه را بررسی کند.
عمومی (general)
EXITCODE_NO_ERROR 0 EXITCODE_COMMANDLINE_SYNTAX_ERROR 1
خطاهای فایل ورودی (input file errors)
EXITCODE_CANNOT_READ_INPUT_FILE 20 (*) EXITCODE_INVALID_INPUT_FILE 22
خطاهای فایل خروجی (output file errors)
EXITCODE_CANNOT_WRITE_OUTPUT_FILE 40 (*)
خطاهای شبکه (network errors)
EXITCODE_CANNOT_INITIALIZE_NETWORK 60 (*) EXITCODE_ASSOCIATION_ABORTED 70
(*) در واقع، این کدها در حال حاضر توسط echoscu استفاده نمیشوند، بلکه به عنوان نگهدارندهٔ مکان (placeholder) برای گروه متناظر کدهای خروج عمل میکنند..SH "محیط (ENVIRONMENT)"
ابزار echoscu تلاش خواهد کرد فرهنگدادههای DICOM مشخصشده در متغیر محیطی DCMDICTPATH را بارگذاری کند. بهطور پیشفرض، یعنی در صورتی که متغیر محیطی DCMDICTPATH مقداردهی نشده باشد، فایل <datadir>/dicom.dic بارگذاری خواهد شد، مگر اینکه فرهنگداده درون برنامه تعبیه شده باشد (پیشفرض برای Windows).
رفتار پیشفرض ارجح است و از متغیر محیطی DCMDICTPATH فقط زمانی باید استفاده شود که به فرهنگدادههای جایگزین نیاز باشد. متغیر محیطی DCMDICTPATH ساختاری مشابه متغیر PATH در شل Unix دارد، به طوری که علامت دو نقطه (":") ورودیها را از هم جدا میکند. در سیستمهای Windows، از علامت نقطه-ویرگول (";") به عنوان جداکننده استفاده میشود. کد فرهنگداده تلاش خواهد کرد تا هر فایل مشخصشده در متغیر محیطی DCMDICTPATH را بارگذاری کند. در صورتی که هیچ فرهنگدادهای نتواند بارگذاری شود، یک خطا محسوب خواهد شد.
کپیرایت و تکثیر (COPYRIGHT)
حق نشر (C) 1994-2025 متعلق به OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.
| Thu Jul 9 2026 18:43:40 | Version 3.7.0 |