?? dcmsniffer使用說(shuō)明.txt
字號(hào):
dcmSniffer1.2 使用說(shuō)明
程序介紹:dcmSniffer是一個(gè)DICOM通訊診斷工具.它采用旁路偵聽(tīng)方式無(wú)需參與DICOM通訊過(guò)程。
dcmSniffer可以記錄雙方的通訊,并進(jìn)行DICOM解析然后打印輸出
maker : yyc
Copyright yyc 2006
http://yycnet.yeah.net
程序原理: 本程序支持下列兩種旁路偵聽(tīng)并分析通訊協(xié)議方式
1、通過(guò)端口映射轉(zhuǎn)發(fā)方式獲取通訊包
這種方式是在映射SCP到另外的偵聽(tīng)端口上,參與通訊的SCU客戶機(jī)訪問(wèn)映射服務(wù)而不直接訪問(wèn)
SCP,映射服務(wù)會(huì)將收到的數(shù)據(jù)包轉(zhuǎn)發(fā)給原SCP,在轉(zhuǎn)發(fā)的同時(shí)進(jìn)行數(shù)據(jù)的記錄和分析。
例如:假設(shè)膠片打印機(jī)(SCP)的IP是192.168.0.2,端口是5588,想要跟蹤膠片打印通訊過(guò)程。
我們可以在網(wǎng)絡(luò)的任意一個(gè)機(jī)器上運(yùn)行dcmSniffer,例如192.168.0.10上運(yùn)行。將打印SCP
映射到192.168.0.10的106上,然后我們更改客戶機(jī)上的膠片打印機(jī)的配置信息,將打印機(jī)的
IP地址和端口配成192.168.0.10和106就行了
優(yōu)點(diǎn): 適應(yīng)任何網(wǎng)絡(luò)
缺點(diǎn): 需要更改通訊一方的配置,將客戶機(jī)上的服務(wù)的IP地址指向運(yùn)行dcmSniffer的機(jī)器的IP和
映射的端口
2、sniffer嗅探方式
此種方式通過(guò)網(wǎng)絡(luò)嗅探方式獲取雙方通訊的ip包,然后進(jìn)行記錄解析。
優(yōu)點(diǎn): 它無(wú)需更改通訊雙方的任何配置
缺點(diǎn): 不適應(yīng)交換網(wǎng)絡(luò),現(xiàn)在大多數(shù)的網(wǎng)絡(luò)基本上都是交換網(wǎng)絡(luò),因此無(wú)法在網(wǎng)絡(luò)的任意機(jī)器上
嗅探。只能在參與通訊的雙方的任意機(jī)器上或在交換機(jī)的配置將所有的IP包轉(zhuǎn)發(fā)給運(yùn)行
嗅探的機(jī)器(不考慮采用ARP欺騙方式獲取IP包)
1.2新增功能: sniffer方式可以記錄原始IP包,然后進(jìn)行離線分析。
用sniffer嗅探進(jìn)行dicom通訊包分析的方式,由于需要進(jìn)行IP->TCP->DICOM協(xié)議分析,如果網(wǎng)絡(luò)流量很大
可能丟包,導(dǎo)致DICOM通訊協(xié)議記錄不全。
1.2版本新增只記錄原始ip包不解析的功能,記錄完成后再針對(duì)原始ip包進(jìn)行dicom解析
[2006-03-31]
增加將c-store傳輸?shù)膁icom保存為本地dicom文件
增加將膠片打印的圖像數(shù)據(jù)保存為本地pix文件,見(jiàn)ini配置中sets配置命令說(shuō)明
【程序運(yùn)行】:
dcmSniffer是一個(gè)控制臺(tái)應(yīng)用程序,支持命令行參數(shù)和配置文件兩種運(yùn)行方式。
1、命令行方式
!!!!端口映射方式獲取數(shù)據(jù)包并記錄分析
dcmSniffer.exe -d <SCP_ip>:<SCP_port>-<mapped_port>
參數(shù)含義: SCP_ip 實(shí)際要映射的SCP服務(wù)的ip或域名。
SCP_port 實(shí)際要映射的SCP服務(wù)的端口
mapped_port 映射端口,即將此SCP映射到本機(jī)(dcmSniffer運(yùn)行的機(jī)器)哪個(gè)端口上
如果指定為0,則隨機(jī)分配
例如映射上例中膠片打印服務(wù),可在CMD命令行下輸入:
dcmSniffer.exe -d 192.168.0.2:104-106
如果要將記錄輸出到指定的文件aa.log 可用管道,范例如下
dcmSniffer.exe -d 192.168.0.2:104-106 >> aa.log
!!!!嗅探方式獲取數(shù)據(jù)包并記錄分析
如果僅僅指定-d參數(shù)而不指定<SCP_ip>:<SCP_port>-<mapped_port>則以嗅探方式獲取數(shù)據(jù)包并記錄分析
范例如下:
dcmSniffer.exe -d
如果要將記錄輸出到指定的文件aa.log 可用管道,范例如下
dcmSniffer.exe -d >> aa.log
!!!!!1.2新增功能: sniffer方式可以記錄原始IP包,然后進(jìn)行離線分析。
嗅探并記錄原始ip包,將原始ip包保存到ip.log文件中,范例如下:
dcmSniffer.exe -d -w ip.log
如果僅僅想記錄特定機(jī)器的ip包,可在ini文件中配置sniff命令,指定過(guò)濾規(guī)則。
從原始ip記錄包ip.log中分析并記錄dicom通訊,范例如下:
dcmsniffer.exe -d -r ip.log
如果僅僅想分析并記錄特定的dicom通訊,可在ini中配置sniff命令,指定記錄的dicom通訊
2、配置ini文件方式
dcmSniffer支持ini配置文件,通過(guò)配置文件用戶可以指定跟蹤并記錄哪些通訊以及過(guò)濾某些
機(jī)器的通訊,配置文件的名字是和程序同名但擴(kuò)展名為ini的文件。
ini配置文件由程序支持的一系列配置命令組成,每行為一個(gè)配置命令。
如果行開頭為!,說(shuō)明此行為注釋,不作解釋。關(guān)于支持的配置命令見(jiàn)下面的說(shuō)明。
=====================begin==================
設(shè)置日志記錄文件
命令格式:
sets [log=<日志輸出文件>] [opentype=APPEND] savefile=TRUE
log=<日志輸出文件> : 設(shè)置程序是否數(shù)促日志文件,如果不指定則不輸出否則輸出指定的日志文件
opentype=APPEND : 設(shè)置程序啟動(dòng)時(shí)是否為追加寫日志文件還是覆蓋寫,如果不設(shè)置此項(xiàng)則為覆蓋寫
savefile=TRUE :將c-store傳輸?shù)膱D像保存為本地dicom文件,將打印的圖像數(shù)據(jù)保存為PIX文件
//PIX文件格式
//開頭兩字節(jié)為ZK,后6字節(jié)是圖像的款高,以及存儲(chǔ)位數(shù),文件頭共為0x24字節(jié),再以后為原始圖像數(shù)據(jù)
typedef struct tagZKPIXFILEHEADER {
WORD bfType; //ZK
WORD bfWidth;
WORD bfHeight;
WORD bfBits;
BYTE bfReserved[24];
DWORD bfSize; //圖像數(shù)據(jù)大小
} ZKPIXFILEHEADER;
啟動(dòng)嗅探sniffer
命令格式:
sniff log=<DCM_STORE|DCM_WORKLIST|DCM_PRINT|DCM_PPS|DCM_QR> rules="<IP過(guò)濾規(guī)則>,<IP過(guò)濾規(guī)則>,..."
log=<DCM_STORE|DCM_WORKLIST|DCM_PRINT|DCM_PPS|DCM_QR> : 指定要記錄哪些通訊過(guò)程
例如如果你僅僅想記錄存儲(chǔ)以及打印過(guò)程則可設(shè)置為 DCM_STORE|DCM_PRINT
如果設(shè)置為DCM_ALL則記錄所有的通訊過(guò)程
rules="<IP過(guò)濾規(guī)則>,<IP過(guò)濾規(guī)則>,..." : 設(shè)置IP過(guò)濾規(guī)則,IP過(guò)濾規(guī)則要用"括起。
用以設(shè)定要記錄并分析的ip數(shù)據(jù)包。
如果有多個(gè)IP過(guò)濾規(guī)則則各個(gè)規(guī)則之間以,分割。IP過(guò)濾規(guī)則格式含義如下:
<ip:port><方向><ip:port> RULETYPE_TCP <enabled>
<方向> : 此域可有下面三個(gè)值 ->,<-或<-> 指明數(shù)據(jù)的流向
<ip:port> : 指明數(shù)據(jù)的ip地址和端口。如果端口為0則不判斷端口,任何端口都符合.
如果ip地址設(shè)為0.0.0.0則不判斷ip地址,任何地址都符合
<enabled> - true或者false ,如果指定true則符合此條件的記錄并分析,否則不記錄分析
例如:rules="192.168.1.0:0<->192.168.1.1:104 RULETYPE_TCP true"
上面的ip過(guò)濾規(guī)則指明記錄并分析客戶機(jī)地址為192.168.1.XXX的訪問(wèn)192.168.1.1機(jī)器104端口的雙向ip數(shù)據(jù)包,即
同時(shí)記錄192.168.1.1:104返回的響應(yīng)數(shù)據(jù)包
例如:rules="192.168.1.5:0<->192.168.1.1:104 RULETYPE_TCP true"
上面的ip過(guò)濾規(guī)則指明記錄并分析客戶機(jī)地址為192.168.1.5的訪問(wèn)192.168.1.1機(jī)器104端口的雙向ip數(shù)據(jù)包,即
同時(shí)記錄192.168.1.1:104返回的響應(yīng)數(shù)據(jù)包
例如:rules="192.168.1.5:0->192.168.1.1:104 RULETYPE_TCP true"
上面的ip過(guò)濾規(guī)則指明記錄并分析客戶機(jī)地址為192.168.1.5的訪問(wèn)192.168.1.1機(jī)器104端口的ip數(shù)據(jù)包,但不記錄
192.168.1.1:104返回的響應(yīng)數(shù)據(jù)包。
范例:
sniff log=DCM_ALL rules="192.168.1.5:0<->192.168.1.1:104 RULETYPE_TCP true"
映射指定的SCP服務(wù)
格式: maps app=<應(yīng)用服務(wù):端口> port=<映射到本地端口> log=<DCM_STORE|DCM_WORKLIST|DCM_PRINT|DCM_PPS|DCM_QR>
app=<應(yīng)用服務(wù):端口> : 指定要映射的SCP的ip和端口
port=<映射到本地端口> : 指定映射到本地的端口,如果設(shè)置為0則自動(dòng)分配
log=<DCM_STORE|DCM_WORKLIST|DCM_PRINT|DCM_PPS|DCM_QR> : 指定要記錄哪些通訊過(guò)程
例如如果你僅僅想記錄存儲(chǔ)以及打印過(guò)程則可設(shè)置為 DCM_STORE|DCM_PRINT
如果設(shè)置為DCM_ALL則記錄所有的通訊過(guò)程
=================end===============================
例如映射上例中膠片打印服務(wù),ini文件可如下配置,下面是dcmSniffer.ini文件中內(nèi)容
!設(shè)置記錄日志文件
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
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -