pcap 到 csv 只有 104asdu 协议与字段 noframe,lenframe,apdulen,rx,tx,type,typeid,causetx,ioa,numix,oa

问题描述

如何使用确切的字段将 pcap 转换为 csv?我已经用 tshark, 尝试过,但所有数据都在输入。我需要在 asdu104 协议上使用它,所以我使用 -O。这是我的命令。

tshark -r dataset.pcap -O iec60870_asdu -T fields -e frame.number -e frame.len -e iec60870_104.apdulen -e iec60870_104.type -e iec60870_104.tx -e iec60870_104.rx -e iec60870_asdu.typeid -e iec60870_asdu.causetx -e iec60870_asdu.ioa -e iec60870_asdu.numix -e iec60870_asdu.oa -E header=y -E separator=,> output.csv

有谁知道怎么做,还是我做错了?

解决方法

如果我理解正确,“但所有数据都在输入。”,您的意思是您正在获取除 iec60870_asdu 之外的其他协议的输出,并且您只想要该协议的输出。假设是这种情况,您只需对 tshark 命令稍作更改。关键是应用过滤器,因此结果中只会出现与 iec60870_asdu 匹配的数据包。这是使用 -Y 选项而不是 -O 选项完成的。因此,修改后的命令是:
tshark -r dataset.pcap -Y iec60870_asdu -T fields -e frame.number -e frame.len -e iec60870_104.apdulen -e iec60870_104.type -e iec60870_104.tx -e iec60870_104.rx -e iec60870_asdu.typeid -e iec60870_asdu.causetx -e iec60870_asdu.ioa -e iec60870_asdu.numix -e iec60870_asdu.oa -E header=y -E separator=,> output.csv

-T 选项下的 tshark man page 所述,您可能还想将 -E quote=d 选项添加到您的命令中。