【问题标题】:python network analysis: export DICOM object from pcap file [closed]python网络分析:从pcap文件中导出DICOM对象[关闭]
【发布时间】:2020-07-10 22:08:13
【问题描述】:

在 Wireshark 中,我可以使用“导出对象 => DICOM”功能从网络数据包中提取发送的 DICOM 文件。

我想用 Python 或 Wireshark API 做同样的事情,可以吗?

【问题讨论】:

  • 您是如何发送文件的?您使用的是 DICOM 协议,还是只是以其他方式发送文件?
  • 嗨!简短的回答:是的,我正在使用 DICOM 协议。我通过两台用以太网电缆连接的笔记本电脑发送文件,在每台笔记本电脑上我都安装了 DVTK 工具来模拟 SCU 和 SCP。嗅探发生在镜像两台笔记本电脑之间交换的数据的端口上。
  • 不确定网络嗅探,但正常的处理方式是设置 storeSCP 应用程序,例如使用 dcmtk,或者,如果你想要它在 Python 中,pynetdicom。虽然我知道你已经建立了一个商店 SCP - 那么你在这里的目标是什么?
  • 嗨!最终目标是能够“动态”分析 DICOM 文件(标题和图像),即从嗅探的数据包中分析。这个想法是在发送错误文件时发出警报。
  • 是否有理由必须在此级别而不是在 storescu 处理程序中执行此操作? (我没有网络嗅探的经验,所以我可能不明白)

标签: python wireshark packet


【解决方案1】:

如果我们使用 python 和 tshark,这主要是对 subprocess 的调用,因为 tshark 已经具有此功能:

import subprocess as sp
import os

# Source file
pcap_file = "C:\\...\\DICOM.pcap"
dest_dir = "exported"
os.mkdir(dest_dir)
# Read the file and use --export-objects. Next arg must be `protocol,dir`.
sp.run(["tshark", "-Q", "-r", pcap_file, "--export-objects", "DICOM," + dest_dir])

然后,如果您ls exported,您将看到导出的文件。我已经测试并验证了this wireshark bug file 有一个可以使用这些命令导出的 dicom 文件。

如果你想更好地了解提取过程,Wireshark是开源的,你可以看看它的DICOM code

【讨论】:

    猜你喜欢
    • 2014-04-09
    • 2012-12-14
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    相关资源
    最近更新 更多