问题描述
如何使用确切的字段将 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
选项添加到您的命令中。