对pcap文件运行file命令将打印出 -
的内容$ file pcap.pcap
pcap.pcap: tcpdump capture file (little-endian) - version 2.4 ....
我一直在寻找一种方法来创建一个big-endian捕获文件,或者在线下载一个样本,但无济于事。
我也很困惑pcap中究竟是小端还是大端。据我所知,libpcap捕获了它在线上看到的东西。
答案 0 :(得分:9)
嗯,一种方法是在大端机器上运行tcpdump或Wireshark;例如,尝试使用运行OS X的旧的基于PowerPC的Mac。
除此之外,关于获取它们的唯一方法是查看,例如the Wireshark Wiki's SampleCaptures page,看看是否有任何捕获被描述为已经完成,例如,基于SPARC的机器或PowerPC基于机器(或大端MIPS机器,如SGI机器,但不是DEC机器),或查找the Wireshark bug database中包含在大端机器上进行捕获的错误。 libpcap / WinPcap以主机字节顺序写出捕获文件 - 目标是在写出实时捕获时消除字节交换开销,将负担转移到读取文件的程序。
而且,是的,libpcap / WinPcap捕获他们在线上看到的内容, BUT 他们添加了一个文件头,例如,为数据包提供链路层头类型,并添加到每个数据包标题包,给出数据包的时间戳,网络上出现的数据包长度,以及捕获的字节数(如果捕获程序被告知以最大大小“切片”数据包,以便在捕获时减少CPU和I / O带宽,例如,只有链路层,网络层和传输层标头是有趣的)。 那个信息是什么是大端或小端的;实际的数据包数据的顺序与它在网络上的顺序不同(尽管数据包元数据,例如802.11的无线电信息,可能是标准的字节顺序,例如{{3的小端)无线电信息,或者可能是主机字节顺序,就像Linux USB元数据一样。)
答案 1 :(得分:2)
无耻的插件,但我写了一个实用程序转换 pcap文件的字节顺序:
答案 2 :(得分:0)
要转换pcap文件的字节顺序,您还可以使用wireshark或tcpdump:
使用wireshark,只需打开文件并保存即可,无需修改。保存的文件将具有与您的计算机相同的字节顺序。
或使用tcpdump,只需执行" sudo tcpdump -r inputpcapfile -w outputpcapfile"
通过这种方式,您可以将pcap文件转换为与计算机具有相同的字节顺序。假设您的计算机使用小端并且pcap文件是大端,则保存的文件将使用小端。 这只能以一种方式工作,使用它来转换为其他字节序是不可能的。