据我所知,使用tshark和tcpdump,我可以生成pcap文件。但是为了运行程序,我需要将pcap信息格式化为json格式。我在想是否能够使用tcpdump或tshark命令进行操作?
我在debian平台(linux)上运行。
答案 0 :(得分:3)
您可以通过以下方式生成JSON:
tshark -r your.pcap -l -n -T json
可选地,-x
命令将在JSON中包含原始数据包数据,这可能很有用。
如果你有自定义格式,你必须编写wireshark解剖器(在Lua或C中)。
tshark
中的JSON支持仍然很少,因此您可以更好地使用-T pdml
来获取XML输出。 YMMV。
答案 1 :(得分:1)
如果2.x.x
下的Wireshark或tshark版本无法使用-T
,则需要更新Wireshark。
安装预构建的.repo文件:
wget https://www.1310nm.net/repository/CentOS/7/wireshark.repo
现在将其移至yum存储库目录:
sudo mv wireshark.repo /etc/yum.repos.d/
更新yum:
sudo yum update
安装Wireshark,接受GPG密钥:
yum install wireshark-qt
强调文本运行Wireshark 强调文本
链接:https://www.1310nm.net/coherentlight/2017/07/25/wireshark-centos7-tldr-version/
答案 2 :(得分:0)
不,但您可以将tcpdump的文本输出(通过不使用-w
运行)或TShark与工具(可以是已编译的程序或脚本)结合使用,将输出转换为JSON。但是,您可能必须自己编写该工具。