【发布时间】:2013-02-19 13:24:07
【问题描述】:
pcap 文件的数据包数量是否有上限(超出操作系统限制?
查看规范,我在pcap file format 中看不到任何会限制数据包数量的内容。
也许 libpcap 或 tcpdump 会限制写入的数据包数量?
【问题讨论】:
-
我不知道,只是受系统处理的文件大小限制。由于它只是在捕获时附加数据,因此大小也不应该限制它。
pcap 文件的数据包数量是否有上限(超出操作系统限制?
查看规范,我在pcap file format 中看不到任何会限制数据包数量的内容。
也许 libpcap 或 tcpdump 会限制写入的数据包数量?
【问题讨论】:
不,pcap 文件格式中没有限制文件中数据包数量的内容。 (pcap-ng 文件格式允许在一个节中最多 18446744073709551614 个字节,如果节头块必须包含一个节中的字节数,但是,在一个文件中超过 18446744073709551615 个字节,即使是当前的 64 位操作系统文件会有问题。:-))
Tcpdump 只是使用 libpcap 写出文件,所以它只会受到 libpcap 的限制。
libpcap 1.0 及更高版本在配置脚本中使用 AC_SYS_LARGEFILE 宏,因此,在 UN*X 上,if 底层操作系统支持大于 2GB 的文件(它们都应该为 64 -bit 机器,并且大多数(如果不是全部)在 32 位机器上已经做了几年),并且 if 配置脚本正确地在 32 位机器上设置了东西以允许大文件(或者如果不需要这样的设置 - 例如,在 *BSD 和 OS X 上不需要),并且 if 构建库的人没有以某种方式阻止它的工作,libpcap 编写应该没有问题大于 2GB 的文件(当然,只要您有足够的磁盘空间...)。
我不知道用于构建 WinPcap 的任何编译器附带的 C 支持库是否支持 Windows NT(NT 3.x、NT 4.0、2000、XP、Vista、7、8 和各种服务器版本),但我怀疑它会。我认为 Windows OT (95, 98, Me) 不支持大文件。
【讨论】: