wget 和curl 在 cron.d 中创建奇怪的文件

wget 和curl 在 cron.d 中创建奇怪的文件

我最近一直在摆弄 cron,我想创建一个简单的 cronjob,每分钟向网站发送一个简单的 GET 请求。如果不是 cron.d 中出现一些奇怪的文件(看起来像一些 SSL 证书,但采用某种二进制格式(虽然我可以读取标头),但有些是正常的文本文件),一切都会有效。我尝试将文件和输出发送到/dev/null但无济于事,文件不断出现。我每次使用curl或时都会得到它们wget

有问题的文件具有以下名称:

010.000.000.050.33322-083.030.008.062.00080
010.000.000.050.33334-083.030.008.062.00080
083.030.008.062.00080-010.000.000.050.33324
083.030.008.062.00080-010.000.000.050.33336
010.000.000.050.33322-083.030.008.062.00080c1
010.000.000.050.33334-083.030.008.062.00080c1
083.030.008.062.00080-010.000.000.050.33324c1
083.030.008.062.00080-010.000.000.050.33336c1
083.030.008.062.00080-010.000.000.050.33324c2
083.030.008.062.00080-010.000.000.050.33336c2
...

还有更多这些,每次我调用wget或时都会创建它们curl,尽管将它们设置为/dev/null通过 std::out 和 std::err 上的简单重定向以及 wget 重定向标志 ( -O) 来将所有内容重定向到 null (我也设定了-q)。我关闭了 cronjob crontab,但在调用这两个程序后它们仍然出现。

我的问题:这些文件是什么,我可以以某种方式阻止它们出现吗?

答案1

好的,我知道了。

一个名为tcpflow(在我的例子中用于监视 HTTP 流量)的程序正在创建这些文件。我一定是tcpflow在我进去的时候跑了/etc/cron.d,它开始做它的事情了。这也可以解释“奇怪”的文件名只是一组 IP 地址。

//from tcpflow man page
By default tcpflow stores all captured data in files that have names of the form:
192.168.101.102.02345-010.011.012.013.45103
...here the contents of the above file would be data transmitted from host 192.168.101.102 port 2345, to host 10.11.12.13 port 45103.

这可以解释为什么在 HTTP 和 HTTPS 上调用wget/curl会创建这些文件。我应该阅读手册:)

我最终杀死了tcpflow进程(我同时运行了 3 个进程,这解释了分别用 c1 和 c2 标记的同一文件的 3 个副本)

相关内容