⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dcmsniffer使用说明.txt

📁 听方式无需参与DICOM通讯过程。 dcmSniffer可以记录双方的通讯
💻 TXT
字号:
dcmSniffer1.2 使用说明
程序介绍:dcmSniffer是一个DICOM通讯诊断工具.它采用旁路侦听方式无需参与DICOM通讯过程。
	  dcmSniffer可以记录双方的通讯,并进行DICOM解析然后打印输出

maker : yyc
Copyright yyc 2006
http://yycnet.yeah.net

程序原理: 本程序支持下列两种旁路侦听并分析通讯协议方式
1、通过端口映射转发方式获取通讯包
	这种方式是在映射SCP到另外的侦听端口上,参与通讯的SCU客户机访问映射服务而不直接访问
	SCP,映射服务会将收到的数据包转发给原SCP,在转发的同时进行数据的记录和分析。
	例如:假设胶片打印机(SCP)的IP是192.168.0.2,端口是5588,想要跟踪胶片打印通讯过程。
	我们可以在网络的任意一个机器上运行dcmSniffer,例如192.168.0.10上运行。将打印SCP
	映射到192.168.0.10的106上,然后我们更改客户机上的胶片打印机的配置信息,将打印机的
	IP地址和端口配成192.168.0.10和106就行了
	优点: 适应任何网络
	缺点: 需要更改通讯一方的配置,将客户机上的服务的IP地址指向运行dcmSniffer的机器的IP和
	      映射的端口
2、sniffer嗅探方式
	此种方式通过网络嗅探方式获取双方通讯的ip包,然后进行记录解析。
	优点: 它无需更改通讯双方的任何配置
	缺点: 不适应交换网络,现在大多数的网络基本上都是交换网络,因此无法在网络的任意机器上
		嗅探。只能在参与通讯的双方的任意机器上或在交换机的配置将所有的IP包转发给运行
		嗅探的机器(不考虑采用ARP欺骗方式获取IP包)


1.2新增功能: sniffer方式可以记录原始IP包,然后进行离线分析。
用sniffer嗅探进行dicom通讯包分析的方式,由于需要进行IP->TCP->DICOM协议分析,如果网络流量很大
可能丢包,导致DICOM通讯协议记录不全。
1.2版本新增只记录原始ip包不解析的功能,记录完成后再针对原始ip包进行dicom解析

[2006-03-31]
	增加将c-store传输的dicom保存为本地dicom文件
	增加将胶片打印的图像数据保存为本地pix文件,见ini配置中sets配置命令说明

【程序运行】:
	dcmSniffer是一个控制台应用程序,支持命令行参数和配置文件两种运行方式。
1、命令行方式
	!!!!端口映射方式获取数据包并记录分析
	dcmSniffer.exe -d <SCP_ip>:<SCP_port>-<mapped_port>
	参数含义: SCP_ip 实际要映射的SCP服务的ip或域名。
		  SCP_port 实际要映射的SCP服务的端口
		  mapped_port 映射端口,即将此SCP映射到本机(dcmSniffer运行的机器)哪个端口上
			     如果指定为0,则随机分配
	例如映射上例中胶片打印服务,可在CMD命令行下输入:
		dcmSniffer.exe -d 192.168.0.2:104-106
	如果要将记录输出到指定的文件aa.log 可用管道,范例如下
		dcmSniffer.exe -d 192.168.0.2:104-106 >> aa.log

	!!!!嗅探方式获取数据包并记录分析
	如果仅仅指定-d参数而不指定<SCP_ip>:<SCP_port>-<mapped_port>则以嗅探方式获取数据包并记录分析
	范例如下:
		dcmSniffer.exe -d
		如果要将记录输出到指定的文件aa.log 可用管道,范例如下
		dcmSniffer.exe -d >> aa.log
!!!!!1.2新增功能: sniffer方式可以记录原始IP包,然后进行离线分析。
	嗅探并记录原始ip包,将原始ip包保存到ip.log文件中,范例如下:
		dcmSniffer.exe -d -w ip.log
	如果仅仅想记录特定机器的ip包,可在ini文件中配置sniff命令,指定过滤规则。
	从原始ip记录包ip.log中分析并记录dicom通讯,范例如下:
		dcmsniffer.exe -d -r ip.log
	如果仅仅想分析并记录特定的dicom通讯,可在ini中配置sniff命令,指定记录的dicom通讯

2、配置ini文件方式
	dcmSniffer支持ini配置文件,通过配置文件用户可以指定跟踪并记录哪些通讯以及过滤某些
	机器的通讯,配置文件的名字是和程序同名但扩展名为ini的文件。
	ini配置文件由程序支持的一系列配置命令组成,每行为一个配置命令。
	如果行开头为!,说明此行为注释,不作解释。关于支持的配置命令见下面的说明。

=====================begin==================	
设置日志记录文件
命令格式: 
	sets [log=<日志输出文件>] [opentype=APPEND] savefile=TRUE
log=<日志输出文件> : 设置程序是否数促日志文件,如果不指定则不输出否则输出指定的日志文件
opentype=APPEND    : 设置程序启动时是否为追加写日志文件还是覆盖写,如果不设置此项则为覆盖写
savefile=TRUE	   :将c-store传输的图像保存为本地dicom文件,将打印的图像数据保存为PIX文件
//PIX文件格式
//开头两字节为ZK,后6字节是图像的款高,以及存储位数,文件头共为0x24字节,再以后为原始图像数据
typedef struct tagZKPIXFILEHEADER {
        WORD    bfType; //ZK
		WORD	bfWidth;
		WORD	bfHeight;
		WORD	bfBits;
		BYTE	bfReserved[24];
		DWORD	bfSize; //图像数据大小
} ZKPIXFILEHEADER;		

启动嗅探sniffer
命令格式:
	sniff log=<DCM_STORE|DCM_WORKLIST|DCM_PRINT|DCM_PPS|DCM_QR> rules="<IP过滤规则>,<IP过滤规则>,..."
log=<DCM_STORE|DCM_WORKLIST|DCM_PRINT|DCM_PPS|DCM_QR> : 指定要记录哪些通讯过程
	例如如果你仅仅想记录存储以及打印过程则可设置为 DCM_STORE|DCM_PRINT
	如果设置为DCM_ALL则记录所有的通讯过程
rules="<IP过滤规则>,<IP过滤规则>,..." : 设置IP过滤规则,IP过滤规则要用"括起。
	用以设定要记录并分析的ip数据包。
	如果有多个IP过滤规则则各个规则之间以,分割。IP过滤规则格式含义如下:
	<ip:port><方向><ip:port> RULETYPE_TCP <enabled>
	<方向> : 此域可有下面三个值 ->,<-或<-> 指明数据的流向
	<ip:port> : 指明数据的ip地址和端口。如果端口为0则不判断端口,任何端口都符合.
		   如果ip地址设为0.0.0.0则不判断ip地址,任何地址都符合
	<enabled> - true或者false ,如果指定true则符合此条件的记录并分析,否则不记录分析
	例如:rules="192.168.1.0:0<->192.168.1.1:104 RULETYPE_TCP true"
	上面的ip过滤规则指明记录并分析客户机地址为192.168.1.XXX的访问192.168.1.1机器104端口的双向ip数据包,即
	同时记录192.168.1.1:104返回的响应数据包
	例如:rules="192.168.1.5:0<->192.168.1.1:104 RULETYPE_TCP true"
	上面的ip过滤规则指明记录并分析客户机地址为192.168.1.5的访问192.168.1.1机器104端口的双向ip数据包,即
	同时记录192.168.1.1:104返回的响应数据包
	例如:rules="192.168.1.5:0->192.168.1.1:104 RULETYPE_TCP true"
	上面的ip过滤规则指明记录并分析客户机地址为192.168.1.5的访问192.168.1.1机器104端口的ip数据包,但不记录
	192.168.1.1:104返回的响应数据包。
范例:
	sniff log=DCM_ALL rules="192.168.1.5:0<->192.168.1.1:104 RULETYPE_TCP true"

映射指定的SCP服务
格式: maps app=<应用服务:端口> port=<映射到本地端口> log=<DCM_STORE|DCM_WORKLIST|DCM_PRINT|DCM_PPS|DCM_QR>
app=<应用服务:端口> : 指定要映射的SCP的ip和端口
port=<映射到本地端口> : 指定映射到本地的端口,如果设置为0则自动分配
log=<DCM_STORE|DCM_WORKLIST|DCM_PRINT|DCM_PPS|DCM_QR> : 指定要记录哪些通讯过程
	例如如果你仅仅想记录存储以及打印过程则可设置为 DCM_STORE|DCM_PRINT
	如果设置为DCM_ALL则记录所有的通讯过程


=================end===============================
例如映射上例中胶片打印服务,ini文件可如下配置,下面是dcmSniffer.ini文件中内容
!设置记录日志文件
sets log=print.log opentype=APPEND
!如果采用sniffer方式配置如下
sniff log=DCM_PRINT rules="0.0.0.0:0<->192.168.0.2:104 RULETYPE_TCP true"
!如果采用端口映射方式则配置如下
maps app=192.168.0.2:104 port=106 log=DCM_PRINT






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -