我正在使用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