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