echoscu: SCU de verificação DICOM (C-ECHO)
SINOPSE
echoscu [options] peer port
DESCRIÇÃO
O aplicativo echoscu implementa um Service Class User (SCU) para a Verification SOP Class. Ele envia uma mensagem DICOM C-ECHO a um Service Class Provider (SCP) e aguarda uma resposta. O aplicativo pode ser usado para verificar a conectividade DICOM básica.
PARÂMETROS
peer hostname of DICOM peer
port tcp/ip port number of peer
OPÇÕES
opções gerais
-h --help- exibe este texto de ajuda e sai
--version- exibe as informações de versão e sai
--arguments- exibe os argumentos de linha de comando expandidos
-q --quiet- modo silencioso, não exibe avisos nem erros
-v --verbose- modo detalhado, exibe os detalhes do processamento
-d --debug- modo de depuração, exibe informações de depuração
-ll --log-level [l]evel: string constant- (fatal, error, warn, info, debug, trace) usa o nível l para o logger
-lc --log-config [f]ilename: string- usa o arquivo de configuração f para o logger
opções de rede
-i4 --ipv4- usa somente IPv4 (padrão)
-i6 --ipv6- usa somente IPv6
-i0 --ip-auto- usa consulta DNS para determinar o protocolo IP. títulos de entidade de aplicação:
-aet --aetitle [a]etitle: string- define o meu calling AE title (padrão: ECHOSCU)
-aec --call [a]etitle: string- define o called AE title do par (padrão: ANY-SCP) depuração da negociação de associação:
-pts --propose-ts [n]umber: integer (1..53)- propõe n sintaxes de transferência
-ppc --propose-pc [n]umber: integer (1..128)- propõe n presentation contexts outras opções de rede:
-to --timeout [s]econds: integer (default: unlimited)- tempo limite para solicitações de conexão
-ts --socket-timeout [s]econds: integer (default: 60)- tempo limite para o socket de rede (0 para nenhum)
-ta --acse-timeout [s]econds: integer (default: 30)- tempo limite para mensagens ACSE
-td --dimse-timeout [s]econds: integer (default: unlimited)- tempo limite para mensagens DIMSE
-pdu --max-pdu [n]umber of bytes: integer (4096..131072)- define a pdu máxima recebida em n bytes (padrão: 16384)
--repeat [n]umber: integer- repete n vezes
--abort- interrompe a associação em vez de liberá-la
opções de segurança da camada de transporte (TLS)
-tls --disable-tls- usa uma conexão TCP/IP normal (padrão)
+tls --enable-tls [p]rivate key file, [c]ertificate file: string- usa uma conexão TLS segura autenticada
+tla --anonymous-tls- usa uma conexão TLS segura sem certificado. senha da chave privada (somente com --enable-tls):
+ps --std-passwd- solicita que o usuário digite a senha na entrada padrão (padrão)
+pw --use-passwd [p]assword: string- usa a senha especificada
-pw --null-passwd- usa uma string vazia como senha. formato do arquivo de chave e certificado:
-pem --pem-keys- lê chaves e certificados como arquivo PEM (padrão)
-der --der-keys- lê chaves e certificados como arquivo DER. autoridade de certificação:
+cf --add-cert-file [f]ilename: string- adiciona um arquivo de certificado à lista de certificados
+cd --add-cert-dir [d]irectory: string- adiciona os certificados de d à lista de certificados
+crl --add-crl-file [f]ilename: string- adiciona um arquivo de lista de revogação de certificados (implica --enable-crl-vfy)
+crv --enable-crl-vfy- ativa a verificação de CRL do certificado folha
+cra --enable-crl-all- habilita a verificação de CRL de toda a cadeia perfil de segurança:
+ph --list-profiles- lista os perfis TLS com suporte e sai
+pg --profile-8996- Perfil TLS BCP 195 RFC 8996 (padrão)
+pm --profile-8996-mod- Perfil TLS BCP 195 RFC 8996 modificado # only available if underlying TLS library supports # all TLS features required for this profile
+py --profile-bcp195-nd- Perfil TLS BCP 195 sem downgrade (obsoleto)
+px --profile-bcp195- Perfil TLS BCP 195 (obsoleto)
+pz --profile-bcp195-ex- Perfil TLS BCP 195 estendido (obsoleto)
+pb --profile-basic- perfil básico de conexão de transporte seguro TLS (obsoleto) # disponível apenas se a biblioteca TLS subjacente oferecer suporte a 3DES
+pa --profile-aes- AES TLS Secure Transport Connection Profile (obsoleto)
+pn --profile-null- Comunicação autenticada não criptografada (retirada, era usada no IHE ATNA) conjunto de cifras:
+cc --list-ciphers- lista os conjuntos de cifras TLS com suporte e sai
+cs --cipher [c]iphersuite name: string- adiciona a conjunto de cifras à lista de suítes negociadas indicação de nome de servidor:
--no-sni- não usa SNI (padrão)
--request-sni [s]erver name: string- solicita o nome de servidor s. gerador pseudoaleatório:
+rs --seed [f]ilename: string- inicializa o gerador aleatório com o conteúdo de f
+ws --write-seed- grava novamente a semente modificada (somente com --seed)
+wf --write-seed-file [f]ilename: string (only with --seed)- grava a semente modificada no arquivo f. autenticação do par:
-rc --require-peer-cert- verifica o certificado do par, falha se ausente (padrão)
-ic --ignore-peer-cert- não verifica o certificado do par verificação off-line do certificado:
+vc --verify-cert [f]ilename: string- verifica o certificado em relação às configurações da 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- verifica se o certificado é uma CA raiz autoassinada # Load a client certificate and check whether it is a valid, # self-signed root CA certificate. Print result and exit.
NOTAS
Conformidade DICOM
O aplicativo echoscu oferece suporte às seguintes SOP Classes como SCU:
VerificationSOPClass 1.2.840.10008.1.1
Por padrão, o aplicativo echoscu propõe somente esta sintaxe de transferência:
LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2
Se a opção –propose-ts for usada, as seguintes sintaxes de transferência também serão propostas, dependendo do valor numérico "n" passado para essa opção:
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
REGISTRO DE LOG
O nível de detalhamento do log das diversas ferramentas de linha de comando e das bibliotecas subjacentes pode ser especificado pelo usuário. Por padrão, apenas erros e avisos são gravados no fluxo de erro padrão. Ao usar a opção –verbose, mensagens informativas, como detalhes do processamento, também são relatadas. A opção –debug pode ser usada para obter mais detalhes sobre a atividade interna, por exemplo, para fins de depuração. Outros níveis de log podem ser selecionados com a opção –log-level. No modo –quiet, apenas erros fatais são relatados. Nesses casos de erro muito graves, o aplicativo normalmente é encerrado. Para mais detalhes sobre os diferentes níveis de log, consulte a documentação do módulo "oflog".
Caso a saída do log deva ser gravada em arquivo (opcionalmente com rotação de arquivo de log), no syslog (Unix) ou no log de eventos (Windows), pode-se usar a opção –log-config. Esse arquivo de configuração também permite direcionar apenas determinadas mensagens para um fluxo de saída específico e filtrar certas mensagens com base no módulo ou aplicativo em que são geradas. Um arquivo de configuração de exemplo é fornecido em < etcdir>/logger.cfg.
LINHA DE COMANDO
Todas as ferramentas de linha de comando usam a seguinte notação para os parâmetros: colchetes delimitam valores opcionais (0-1), reticências no final indicam que múltiplos valores são permitidos (1-n), e a combinação dos dois significa de 0 a n valores.
As opções de linha de comando se distinguem dos parâmetros por um sinal '+' ou '-' à frente. Normalmente, a ordem e a posição das opções de linha de comando são arbitrárias (ou seja, podem aparecer em qualquer lugar). No entanto, se as opções forem mutuamente exclusivas, é usada a ocorrência mais à direita. Esse comportamento está em conformidade com as regras de avaliação padrão dos shells Unix comuns.
Além disso, um ou mais arquivos de comando podem ser especificados usando um sinal '@' como prefixo do nome do arquivo (por exemplo, @command.txt). Esse argumento de comando é substituído pelo conteúdo do arquivo de texto correspondente (múltiplos espaços em branco são tratados como um único separador, a menos que apareçam entre duas aspas) antes de qualquer avaliação posterior. Observe que um arquivo de comando não pode conter outro arquivo de comando. Essa abordagem simples, mas eficaz, permite agrupar combinações comuns de opções/parâmetros e evita linhas de comando longas e confusas (um exemplo é fornecido no arquivo < datadir>/dumppat.txt).
CÓDIGOS DE SAÍDA
O utilitário echoscu usa os seguintes códigos de saída ao ser encerrado. Isso permite que o usuário verifique o motivo pelo qual o aplicativo foi encerrado.
geral
EXITCODE_NO_ERROR 0
EXITCODE_COMMANDLINE_SYNTAX_ERROR 1
erros de arquivo de entrada
EXITCODE_CANNOT_READ_INPUT_FILE 20 (*)
EXITCODE_INVALID_INPUT_FILE 22
erros de arquivo de saída
EXITCODE_CANNOT_WRITE_OUTPUT_FILE 40 (*)
erros de rede
EXITCODE_CANNOT_INITIALIZE_NETWORK 60 (*)
EXITCODE_ASSOCIATION_ABORTED 70
() Na verdade, esses códigos atualmente não são usados pelo echoscu*, mas servem como um espaço reservado para o grupo correspondente de códigos de saída.
AMBIENTE
O utilitário echoscu tentará carregar os dicionários de dados DICOM especificados na variável de ambiente DCMDICTPATH. Por padrão, ou seja, se a variável de ambiente DCMDICTPATH não estiver definida, o arquivo < datadir>/dicom.dic será carregado, a menos que o dicionário esteja integrado ao aplicativo (padrão no Windows).
É preferível manter o comportamento padrão e usar a variável de ambiente DCMDICTPATH apenas quando dicionários de dados alternativos forem necessários. A variável de ambiente DCMDICTPATH tem o mesmo formato da variável PATH dos shells Unix, em que dois-pontos (":") separam as entradas. Em sistemas Windows, um ponto e vírgula (";") é usado como separador. O código do dicionário de dados tenta carregar cada arquivo especificado na variável de ambiente DCMDICTPATH. Ocorre um erro se nenhum dicionário de dados puder ser carregado.
COPYRIGHT
Copyright (C) 1994-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.