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

sudo tshark -i en0 -x -w icmp_sample.pcap 

此命令输出一个pcap文件,但它似乎不是有效的,因为CocoaPacket分析器无法打开它

任何想法?

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

Libpcap 1.1.0和更高版本可以读取pcap-ng文件,自从Snow Leopard以来,OS X已经有了libpcap 1.1.x。 CocoaPacketAnalyzer与自己的libpcap版本静态链接 – 但是快速查看程序中的string表明它是用libpcap 1.1.0或更高版本构build的。

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

所以,如果你想用CocoaPacketAnalyzer(而不是Wireshark,它可以读取pcap-ng文件,以及pcap文件和一大堆其他types的文件)读取捕捉,你将不得不让TShark通过传递来写出pcap文件它的标志-F pcap ,你将不得不转换任何现有的PCAP-ng文件,你想要CocoaPacketAnalyzer读入editcap -F pcap {input file} {output file}文件与editcap -F pcap {input file} {output file}或者,在雪豹和更高版本, tcpdump -r {input file} -w {output file}