我一直在線閱讀並觀看有關如何在C中使用鏈接列表的演示視頻,並且現在對它們有一些基本的瞭解。提前道歉,因爲我對C的經歷既生疏又有限。在計算機中使用鏈表來檢測數據包嗅探C
我有一個開源的數據包嗅探器在C(sniffex.c通過tcpdump.org),我想鼓搗,並通過顯示統計數據等,使其更加用戶友好。
經過一番研究後,我發現鏈表似乎是一條路,因爲我將動態地獲取數據並從中形成兩件事 - 一張網絡流量數據和隨後計數器的小表。
As a rough example, it would look something like this:
| Source IP Destination IP Type Count |
192.168.1.1 192.168.1.2 TCP 245
192.168.1.2 192.168.1.1 TCP 230
192.168.1.3 192.168.1.1 UDP 400
,而不是讓sniffex同時拋出的所有分組數據的屏幕(源IP,目的IP,流量類型和端口),我想它做到以下幾點:
做一個動態記錄源IP - >目標IP,並附加一個計數器監測一個數據包被嗅探的次數。我想我需要安裝某種邏輯循環來檢查鏈接列表,該條目在創建另一個條目之前已經存在?如果源IP,目標IP,端口和流量類型已經存在,那麼每次檢測到「包計數器」時都是這樣。
我是否認爲我需要創建一個包含源IP,目標IP,流量類型的屬性的結構?
如果缺乏清晰度,再次道歉。任何幫助,建議或鏈接對我來說都是最有用的,並且非常感謝。
我可以保證uthash非常有用 - 已經使用了很多沒有問題,非常穩定..加上容易集成,因爲它是作爲一個頭文件中的一組宏來實現,而不是作爲一個單獨的庫 – bph
感謝你們都回復,我會更多地研究uthash。我同意,根據我對映射數據和實施計數器的要求,它看起來是合適的 – user3107379