linux - 如何安排 tcpdump 在特定时间段内运行?

每次手动运行 tcpdump 时,我都必须使用 Ctrl+C 来停止它。现在我想用 cronjob 安排我的 tcpdump ,我只需要它运行 1 个半小时。不手动运行Ctrl+C或者kill命令,怎么能自动停止呢?这是我正在测试的命令:

tcpdump -i eth0 'port 8080' -w  myfile

我可以安排另一个 cronjob 来终止 tcpdump 进程,但这似乎不是一个好主意。

最佳答案

您可以结合 -G {sec}(每 x 秒旋转转储文件)和 -W {count}(限制转储文件的数量)来获得您想要的想要:

tcpdump -G 15 -W 1 -w myfile -i eth0 'port 8080'

会运行 15 秒然后停止。将 1.5 小时转换为秒,它应该可以工作。

https://stackoverflow.com/questions/25731643/

相关文章:

php - 使路径在 linux 和 Windows 上都有效

linux - Shell 脚本,回显消息后在同一行读取

linux - 当命令太长时,命令行会自动覆盖

python - os.walk 没有隐藏文件夹

linux - 在 Ubuntu 中将目录添加到 PATH

linux - 从命令行导入 PostgreSQL CSV

linux - 须藤 : docker-compose: command not found

linux - Ubuntu 上的 DTrace,操作方法?

linux - "In-source builds are not allowed"在 cmake

linux - 为什么在 find 命令中使用 dirname 会为每个匹配项提供点?