我正在使用tcpflow记录服务器上的网络流量。我想将这些数据记录到一个文件中,但不是全部是。监控进程将作为守护进程无限期地在后台运行。如何在将文本写入文件之前预处理无限文本流?
流的某些行包含字节数,如果我看到字节数(例如800字节),则需要将下一个800字节记录到文件中。如果没有,我不希望写入文件。
对于我来说,对流进行这种“即时预处理”以决定重定向到日志文件的最佳方式是什么?某种类型的第二个守护进程脚本正在监听流,该流被传送到该脚本中?
例子:
我看到流中的以下行:
1343932842: 010.079.091.189.35856-010.104.001.199.11211: set i:1:20163484235 0 0 1429
首先,我需要检查它有一个 “设置”。然后,我检查最后一行(1429),然后读取下一个1429字节并将它们写入文件。
貌似tcpflow支持像tcpdump的 – jordanm 2012-08-02 18:37:28
@jordanm过滤器表达式,我不认为这将有助于我。以下是一个示例行: '1343932842:010.079.091.189.35856-010.104.001.199。11211:set i:1:20163484235 0 0 1429' 我需要先看到该行有一个“set”,然后检查最后一行(1429),然后读取下一个1429字节并将它们写入文件。 – Tim 2012-08-02 18:40:51
你在写什么语言?这个执行的环境是什么?标签“bash”和“php”令人困惑...... – tucuxi 2012-08-02 19:15:34