在DICOM设备Modality网络通讯中,最简单的通讯操作是C-ECHO,这个C-ECHO交互操作,可以判断对方启动了DICOM服务。在这通讯过程中TCP相互传输了什么数据?这些数据是怎样构成的?
Echo SCU使用DCMTK 3.6.3的echoscu.exe;
ECHO SCP使用JDICOM的imageServerGUI;
TCP数据分析工具使用WireShake 2.6.5。
一.实验前准备工作
运行环境:win10-64bit操作系统。
Step1:下载dcmtk工具,https://www.dcmtk.org/dcmtk.php.en
Step2:下载JDICOM工具,需要先安装JDK。我使用的是虚拟机的XP上安装该工具。(如果你需要该工具,QQ:67259275,67259275@qq.com)。
Step3:下载WireShark https://www.wireshark.org/download/win32/all-versions/,这个链接访问,下载对应的工具。通常在https://www.wireshark.org/download.html 下载最新的版本。
操作步骤:
Step1: 启动JDICOM的imageServerGui,ECHOSCP的信息:AETitle=QRSCP2018,port=9105,IP=192.168.1.211 设置如下:
启动后如下图:
Step2 :启动Wireshare和端口过滤设置,设置为只获取9105端口的数据,tcp.port == 9105 || udp.port == 9105
Step3:启动echoscu.exe , 命令行为:echoscu.exe -d 192.168.1.211 9105 -aet MYECHOSCU -aec QRSCP2018
在SCP端可以看到运行的日志:
整个ECHO的过程可以看到有3个交互6个操作:
Step1: MYECHOSCU–>QRSCP2018 发送请求 A-ASSOCIATE-RQ;
Step2:QRSCP2018 -->MYECHOSCU反馈信息 A-ASSOCIATE-AC;
Step3: MYECHOSCU–>QRSCP2018 发送请求 C-ECHO-RQ;
Step4:QRSCP2018 -->MYECHOSCU反馈信息 C-ECHO-RSP;
Step5: MYECHOSCU–>QRSCP2018 发送请求 A-RELEASE-RQ;
Step6:QRSCP2018 -->MYECHOSCU反馈信息 A-RELEASE-RP;
二.数据分析
接下来WireShark就可以分析数据了。设置将TCP数据进行DICOM的解析。
详细的操作可以参阅 https://www.cnblogs.com/strick/p/6261463.html
下图就可以看到TCP 进行了DICOM的解析,同时可以观察到DICOM的对应6个交互数据。
这样就可以看到A-ASSOCIATE-QR resquest的数据包的DICOM解释。
当然也可以将这个211字节的数据,通过TCP&UDP测试工具直接发送到SCP,也是有相应的反馈的。
这对于医疗信息系统工程师分析和开发DICOM相关的数据非常有帮助。