tcpdump:文件大小无效
Posted
技术标签:
【中文标题】tcpdump:文件大小无效【英文标题】:tcpdump: invalid file size 【发布时间】:2021-09-19 17:06:23 【问题描述】:我正在尝试运行文件大小为 4096 的 tcpdump 命令,但它返回错误:-
命令:- tcpdump -i any -nn -tttt -s0 -w %d-%m-%Y_%H:%M:%S:%s_hostname_ipv6.pcap -G 60 -C 4096 端口 53
经过一些点击和试用后,我发现文件大小(4096 即 2^12)(8192 即 2^13)等失败。
所以,对于 2^11 之后的文件大小,它给了我无效的文件大小错误。
谁能告诉我 tcpdump 在什么情况下返回无效的文件大小。
当我使用文件大小运行时:- 100000
tcpdump -i any -nn -tttt -s0 -w %d-%m-%Y_%H:%M:%S:%s_hostname_ipv6.pcap -G 60 -C 100000 53端口
正在创建最大大小为 1.3GB 的.pcap 文件。
我也尝试查看 tcpdump 的源代码,但找不到太多。
【问题讨论】:
【参考方案1】:我正在尝试运行文件大小为 4096 的 tcpdump 命令
引用最新版本的 tcpdump 手册页:
-C file_size
Before writing a raw packet to a savefile, check whether the
file is currently larger than file_size and, if so, close the
current savefile and open a new one. Savefiles after the first
savefile will have the name specified with the -w flag, with a
number after it, starting at 1 and continuing upward. The units
of file_size are millions of bytes (1,000,000 bytes, not
1,048,576 bytes).
所以-C 4096
表示文件大小为 4096000000 字节。这是一个很大的文件大小,在旧版本的 tcpdump 中,-C
标志不支持这么大的文件大小(大于 2147483647)。
如果你的意思是你希望它写出大小为 4K 字节的文件,不幸的是 tcpdump 不支持。这意味着通过合并 tcpdump pull request 916 修复 tcpdump issue 884 已经过去了 - 我现在会这样做,但现在对你没有帮助。
当我使用文件大小运行时:- 100000
这是 100000000000 的文件大小,即 100 GB。不幸的是,如果您希望文件大小为 100000 字节(100 KB),那么当前的最小文件大小为 1 兆字节,因此不支持。
【讨论】:
但是,当我运行文件大小为 5000 的 tcpdump 时,tcpdump 启动了,它没有给出类似“tcpdump:无效文件大小”的任何错误。您能否对此进行澄清。此外,经过一些点击和试用后,我发现文件大小(4096 即 2 ^ 12)(8192 即 2 ^ 13)等都失败了。因此,对于 2^11 之后的文件大小,它给了我无效的文件大小错误。 “请您对此进行澄清。”是的 - 创造一个短语,“溢出发生”。 4.10 之前的 tcpdump 版本只执行Cflag = atoi(the argument) * 1000000;
并报告错误当且仅当 CFlag
的结果值 CFlag 是 int
,就像在 1.9 之前的 tcpdump 版本中一样, 结果 happens 设置了最高位,它是否定的;如果它是long
,就像在 1.9.x 中一样,它会扩展符号,这意味着会发生同样的事情。 1.10 修复了测试以正常工作。
“所以,对于 2^11 之后的文件大小,它给了我无效的文件大小错误。” 5000 > 2048,所以,不,它不是给你“无效的文件大小”(是的,“之间有一个空格”文件”和“大小”)对于所有值 > 2^11。
不,是文件大小而不是文件大小。如果可能的话,如果观察到相同的行为,请您也尝试在您的系统上。
“不,它是文件大小而不是文件大小。如果可能,如果观察到相同的行为,请您也尝试在您的系统上。”我做了,它说“文件大小”。我还查看了从 0.7 到 1.10 的所有 tcpdump 版本的源代码,他们说“文件大小”。以上是关于tcpdump:文件大小无效的主要内容,如果未能解决你的问题,请参考以下文章