【问题标题】:How to capture tcpdump to a compress file in linux如何在 linux 中将 tcpdump 捕获到压缩文件中
【发布时间】:2016-05-19 04:09:47
【问题描述】:

我有一个 DNS 服务器,我想捕获 DNS 流量以获取所有使用我的 DNS 服务器的 IP。

为此,我开始使用以下tcpdump 命令并将它们捕获到文件中:

tcpdump -n -i eth0 dst port 53 >> dns_data.log

但是当我长时间运行它时文件大小很大。如何将其捕获到压缩文件中?我尝试了以下命令,但它不起作用。

tcpdump -n -i eth0 dst port 53 | bzip2 -c >> dns_data.bz2

【问题讨论】:

  • 猜测bzip 不知道流何时关闭,因此它一直在等待更多数据。检查man tcpdump,看看是否有一个选项“运行X(分钟,秒,字节)?。祝你好运。
  • 为什么不使用查询日志?

标签: linux compression tcpdump bzip2 bz2


【解决方案1】:

尝试类似tcpdump -G 3600 -w 'trace_%Y-%m-%d_%H:%M:%S.pcap' -z gzip

-G N 表示每 N (3600) 秒旋转一次。 -z 命令 表示旋转后运行命令(gzip)。

【讨论】:

  • 也许你的意思是...-w "$(date +trace_%Y-%m-%d_%H:%M:%S.pcap)" -z ...?祝你好运。
  • @shellter 在足够新的 tcpdump 上,-G 选项会导致每次旋转文件时将 -w 选项传递给 strftime
  • @Alnitak:谢谢!很高兴知道。
猜你喜欢
  • 1970-01-01
  • 2016-05-29
  • 1970-01-01
  • 2016-06-28
  • 2021-09-12
  • 1970-01-01
  • 2018-10-24
  • 1970-01-01
  • 2023-01-10
相关资源
最近更新 更多