⚠️ Ceci est un site de traduction non officiel, sans lien avec DCMTK / OFFIS. Pour des informations faisant autorité, consultez la page originale (https://support.dcmtk.org/docs/echoscu.html).

echoscu: SCU de vérification DICOM (C-ECHO)

SYNOPSIS

echoscu [options] peer port

DESCRIPTION

echoscu est une application qui implémente un Service Class User (SCU) pour la Verification SOP Class. Elle envoie un message DICOM C-ECHO à un Service Class Provider (SCP) et attend une réponse. Cette application permet de vérifier la connectivité DICOM de base.

PARAMÈTRES

peer  hostname of DICOM peer

port  tcp/ip port number of peer

OPTIONS

options générales

-h --help
affiche cette aide et quitte
--version
affiche les informations de version et quitte
--arguments
affiche les arguments de ligne de commande développés
-q --quiet
mode silencieux, n'affiche ni avertissements ni erreurs
-v --verbose
mode détaillé, affiche les détails du traitement
-d --debug
mode débogage, affiche les informations de débogage
-ll --log-level [l]evel: string constant
(fatal, error, warn, info, debug, trace) utilise le niveau l pour la journalisation
-lc --log-config [f]ilename: string
utilise le fichier de configuration f pour la journalisation

options réseau

-i4 --ipv4
utilise uniquement IPv4 (par défaut)
-i6 --ipv6
utilise uniquement IPv6
-i0 --ip-auto
détermine le protocole IP par résolution DNS titres d'entité d'application :
-aet --aetitle [a]etitle: string
définit mon calling AE title (par défaut : ECHOSCU)
-aec --call [a]etitle: string
définit le called AE title du pair (par défaut : ANY-SCP) débogage de la négociation d'association :
-pts --propose-ts [n]umber: integer (1..53)
propose n syntaxes de transfert
-ppc --propose-pc [n]umber: integer (1..128)
propose n presentation contexts autres options réseau :
-to --timeout [s]econds: integer (default: unlimited)
délai d'expiration pour les demandes de connexion
-ts --socket-timeout [s]econds: integer (default: 60)
délai d'expiration pour le socket réseau (0 pour aucun)
-ta --acse-timeout [s]econds: integer (default: 30)
délai d'expiration pour les messages ACSE
-td --dimse-timeout [s]econds: integer (default: unlimited)
délai d'expiration pour les messages DIMSE
-pdu --max-pdu [n]umber of bytes: integer (4096..131072)
définit la pdu maximale reçue à n octets (par défaut : 16384)
--repeat [n]umber: integer
répète n fois
--abort
interrompt l'association au lieu de la libérer

options de sécurité de la couche transport (TLS)

-tls --disable-tls
utilise une connexion TCP/IP normale (par défaut)
+tls --enable-tls [p]rivate key file, [c]ertificate file: string
utilise une connexion TLS sécurisée authentifiée
+tla --anonymous-tls
utilise une connexion TLS sécurisée sans certificat mot de passe de la clé privée (uniquement avec --enable-tls) :
+ps --std-passwd
invite l'utilisateur à saisir le mot de passe sur l'entrée standard (par défaut)
+pw --use-passwd [p]assword: string
utilise le mot de passe indiqué
-pw --null-passwd
utilise une chaîne vide comme mot de passe format du fichier de clé et de certificat :
-pem --pem-keys
lit les clés et certificats comme fichier PEM (par défaut)
-der --der-keys
lit les clés et certificats comme fichier DER autorité de certification :
+cf --add-cert-file [f]ilename: string
ajoute le fichier de certificat à la liste des certificats
+cd --add-cert-dir [d]irectory: string
ajoute les certificats de d à la liste des certificats
+crl --add-crl-file [f]ilename: string
ajoute un fichier de liste de révocation de certificats (implique --enable-crl-vfy)
+crv --enable-crl-vfy
active la vérification CRL du certificat feuille
+cra --enable-crl-all
active la vérification CRL de la chaîne complète profil de sécurité :
+ph --list-profiles
affiche la liste des profils TLS pris en charge et quitte
+pg --profile-8996
Profil TLS BCP 195 RFC 8996 (par défaut)
+pm --profile-8996-mod
Profil TLS BCP 195 RFC 8996 modifié # only available if underlying TLS library supports # all TLS features required for this profile
+py --profile-bcp195-nd
Profil TLS BCP 195 sans rétrogradation (obsolète)
+px --profile-bcp195
Profil TLS BCP 195 (obsolète)
+pz --profile-bcp195-ex
Profil TLS BCP 195 étendu (obsolète)
+pb --profile-basic
Basic TLS Secure Transport Connection Profile (obsolète) # only available if underlying TLS library supports 3DES
+pa --profile-aes
AES TLS Secure Transport Connection Profile (obsolète)
+pn --profile-null
communication authentifiée non chiffrée (obsolète, utilisée auparavant dans IHE ATNA) suite de chiffrement :
+cc --list-ciphers
affiche la liste des suites de chiffrement TLS prises en charge et quitte
+cs --cipher [c]iphersuite name: string
ajoute la suite de chiffrement à la liste des suites négociées indication du nom de serveur :
--no-sni
n'utilise pas SNI (par défaut)
--request-sni [s]erver name: string
demande le nom de serveur s générateur pseudo-aléatoire :
+rs --seed [f]ilename: string
initialise le générateur aléatoire avec le contenu de f
+ws --write-seed
réécrit la graine modifiée (uniquement avec --seed)
+wf --write-seed-file [f]ilename: string (only with --seed)
écrit la graine modifiée dans le fichier f authentification du pair :
-rc --require-peer-cert
vérifie le certificat du pair, échoue s'il est absent (par défaut)
-ic --ignore-peer-cert
ne vérifie pas le certificat du pair vérification hors ligne du certificat :
+vc --verify-cert [f]ilename: string
vérifie le certificat par rapport aux paramètres de l'AC # 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
vérifie si le certificat est une AC racine autosignée # Load a client certificate and check whether it is a valid, # self-signed root CA certificate. Print result and exit.

NOTES

Conformité DICOM

echoscu prend en charge les SOP Classes suivantes en tant que SCU :

VerificationSOPClass                                1.2.840.10008.1.1

Par défaut, echoscu ne propose que cette syntaxe de transfert :

LittleEndianImplicitTransferSyntax                  1.2.840.10008.1.2

Si l'option –propose-ts est utilisée, les syntaxes de transfert suivantes seront également proposées, en fonction de la valeur numérique "n" passée à cette option :

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

JOURNALISATION

Le niveau de détail de la journalisation des différents outils en ligne de commande et des bibliothèques sous-jacentes peut être spécifié par l'utilisateur. Par défaut, seules les erreurs et les avertissements sont écrits dans le flux d'erreur standard. L'option –verbose permet également de signaler des messages d'information tels que les détails du traitement. L'option –debug permet d'obtenir plus de détails sur l'activité interne, par exemple à des fins de débogage. L'option –log-level permet de sélectionner d'autres niveaux de journalisation. En mode –quiet, seules les erreurs fatales sont signalées. Dans de tels cas d'erreur très graves, l'application se termine généralement. Pour plus de détails sur les différents niveaux de journalisation, consultez la documentation du module "oflog".

Si la sortie de la journalisation doit être écrite dans un fichier (éventuellement avec rotation des fichiers journaux), vers syslog (Unix) ou le journal des événements (Windows), l'option –log-config peut être utilisée. Ce fichier de configuration permet également de diriger uniquement certains messages vers un flux de sortie particulier et de filtrer certains messages en fonction du module ou de l'application qui les génère. Un exemple de fichier de configuration est fourni dans < etcdir>/logger.cfg.

LIGNE DE COMMANDE

Tous les outils en ligne de commande utilisent la notation suivante pour les paramètres : les crochets entourent les valeurs facultatives (0-1), trois points de suspension à la fin indiquent que plusieurs valeurs sont autorisées (1-n), et la combinaison des deux signifie de 0 à n valeurs.

Les options de la ligne de commande se distinguent des paramètres par un signe '+' ou '-' en tête. En général, l'ordre et la position des options de la ligne de commande sont arbitraires (c'est-à-dire qu'elles peuvent apparaître n'importe où). Toutefois, si des options s'excluent mutuellement, c'est la dernière occurrence, la plus à droite, qui est utilisée. Ce comportement est conforme aux règles d'évaluation standard des shells Unix courants.

De plus, un ou plusieurs fichiers de commandes peuvent être spécifiés en utilisant un signe '@' comme préfixe du nom de fichier (par exemple @command.txt). Un tel argument de commande est remplacé par le contenu du fichier texte correspondant (les espaces multiples sont traités comme un séparateur unique, sauf s'ils apparaissent entre deux guillemets) avant toute évaluation ultérieure. Notez qu'un fichier de commandes ne peut pas contenir un autre fichier de commandes. Cette approche simple mais efficace permet de regrouper des combinaisons courantes d'options/paramètres et évite des lignes de commande longues et peu lisibles (un exemple est fourni dans le fichier < datadir>/dumppat.txt).

CODES DE SORTIE

echoscu utilise les codes de sortie suivants à la fin de son exécution. Cela permet à l'utilisateur de déterminer la raison pour laquelle l'application s'est terminée.

général

EXITCODE_NO_ERROR                         0
EXITCODE_COMMANDLINE_SYNTAX_ERROR         1

erreurs de fichier d'entrée

EXITCODE_CANNOT_READ_INPUT_FILE          20 (*)
EXITCODE_INVALID_INPUT_FILE              22

erreurs de fichier de sortie

EXITCODE_CANNOT_WRITE_OUTPUT_FILE        40 (*)

erreurs réseau

EXITCODE_CANNOT_INITIALIZE_NETWORK       60 (*)
EXITCODE_ASSOCIATION_ABORTED             70

() En pratique, ces codes ne sont actuellement pas utilisés par echoscu*, mais servent de réserve pour le groupe de codes de sortie correspondant.

ENVIRONNEMENT

echoscu tente de charger les dictionnaires de données DICOM indiqués dans la variable d'environnement DCMDICTPATH. Par défaut, c'est-à-dire si la variable d'environnement DCMDICTPATH n'est pas définie, le fichier < datadir>/dicom.dic est chargé, sauf si le dictionnaire est intégré à l'application (par défaut sous Windows).

Il est préférable de conserver le comportement par défaut et de n'utiliser la variable d'environnement DCMDICTPATH que lorsque des dictionnaires de données alternatifs sont nécessaires. La variable d'environnement DCMDICTPATH a le même format que la variable PATH des shells Unix, en ce sens que les deux-points (":") séparent les entrées. Sur les systèmes Windows, le point-virgule (";") est utilisé comme séparateur. Le code du dictionnaire de données tente de charger chaque fichier spécifié dans la variable d'environnement DCMDICTPATH. C'est une erreur si aucun dictionnaire de données ne peut être chargé.

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