python 网络分析:从 pcap 文件导出 DICOM 对象

python network analysis: export DICOM object from pcap file

在 Wireshark 中,我可以使用 "export object => DICOM" 功能从网络数据包中提取发送的 DICOM 文件。

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

如果我们使用 python 和 tshark,这主要是对子进程的调用,因为 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