1. 總體結構
wireshark的總體結構如下圖所示。

2. 功能模塊
| 模塊名 |
功能 |
源碼子目錄 |
| GTK/Qt |
處理所有的用戶輸入/輸出(所有的窗口,對話框等等) |
/ui |
| Core |
主要的"粘合代碼"(glue code),它把其他的塊組合到一起 |
/ |
| Epan (Ethereal Packet Analyzer) |
協議樹(Protocol-Tree) - 保存捕獲文件的協議信息數據 |
/epan |
| 解析器(Dissectors) - 多種協議的解析器 |
/epan/dissectors |
|
| 插件(Plugins) - 一些用插件實現的協議解析器 |
/plugins |
|
| 顯示過濾器(Display-Filters) - 顯示過濾器引擎 |
/epan/dfilter |
|
| Wiretap |
wiretap庫用於讀/寫libpcap格式或者其他文件格式的捕獲文件 |
/wiretap |
| Capture |
抓包引擎相關接口 |
/ |
| Dumpcap |
抓包引擎. 這是唯一需要提升權限來執行的部 |
/ |
| WinPcap/libpcap |
(不是Wireshark包的一部分) - 依賴於平台的包捕獲庫,包含捕獲過濾器引擎.這就是我們為什么有不同的顯示和捕獲 兩套過濾語法的原因 - 因為用了兩種不同的過濾引擎 |
- |
