如何使 tshark 输出用于其他 max GUI pcap 查看器的有效 pcap 文件

如何使 tshark 输出用于其他 max GUI pcap 查看器的有效 pcap 文件
 sudo tshark -i en0 -x -w icmp_sample.pcap

此命令输出一个 pcap 文件,但它似乎无效,因为 CocoaPacket Analyzer 无法打开它

任何想法?

答案1

如果是 TShark 1.8 或更高版本,默认情况下会不是输出 pcap 文件,它输出pcap-ng文件。

Libpcap 1.1.0 及更高版本可以读取 pcap-ng 文件,OS X 自 Snow Leopard 以来就拥有 libpcap 1.1.x。CocoaPacketAnalyzer 链接静态地使用其自己的 libpcap 版本 - 但快速浏览程序中的字符串表明它是使用 libpcap 1.1.0 或更高版本构建的。

但是,它可能像 Wireshark 一样,仅使用 libpcap 来捕获网络流量,并有自己的代码来读取捕获文件。这意味着,与使用 libpcap 读取捕获文件的程序不同,如果与较新版本的 libpcap 链接,它不会神奇地获得读取 pcap-NG 文件的能力。

因此,如果你想使用 CocoaPacketAnalyzer(而不是 Wireshark,它读取 pcap-ng 文件以及 pcap 文件和一大堆其他类型的文件),您必须通过传递标志让 TShark 写出 pcap 文件-F pcap,并且您必须将任何您希望 CocoaPacketAnalyzer 读取的现有 pcap-ng 文件转换为 pcap 文件,editcap -F pcap {input file} {output file}或者在 Snow Leopard 及更高版本中,使用tcpdump -r {input file} -w {output file}

相关内容