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}
。