在计划中使用tcpdump的最佳方法

问题描述 投票:0回答:1

我是linux的新用户,现在我有一个特定时间捕获数据包的任务。

例如,我想捕获数据包然后将其保存到pcap文件(每个文件限制50mb)。我可以使用这个命令:

tcpdump -C 50 -w mypackets.pcap

但我不知道如何在特定的时间段内运行它。例如,每周一到周五(并且期间是2019/02 / 01~2019 / 02/28)运行此项。在2019/02/28之后,此过程将被终止。

我已阅读the doc,但似乎没有参数来控制此选项

这样做有什么好主意吗?

ubuntu cron tcpdump
1个回答
1
投票

如果您希望安排进程运行的时间,那么您可能需要查看crontab

例如,以下cron作业将导致tcpdump每周一启动并在每个星期五终止:

$ crontab -e
o
0    0    *    *    mon   tcpdump -C 50 -w mypackets.pcap
0    0    *    *    sat   killall -s SIGINT tcpdump
ESC:wq
crontab: installing new crontab

或者,如果您只想捕获一整个月,例如March,那么您可以使用类似的东西:

$ crontab -e
o
0    0    1    mar  *   tcpdump -C 50 -w mypackets.pcap
0    0    1    apr  *   killall -s SIGINT tcpdump
ESC:wq
crontab: installing new crontab

当您不再需要cron作业时,需要手动删除它们。一定要在实际需要它们之前测试你的cron作业,这样你就知道它们会在你真正需要的时候按预期工作。

您可能还想查看使用dumpcap而不是tcpdump,因为dumpcap允许您指定在指定的秒数后使用-a duration:value选项停止捕获,因此您不一定需要明确地停止它,因为在经过这段时间后,它将自行终止。

© www.soinside.com 2019 - 2024. All rights reserved.