一、wireshark架構
wireshark可以被劃分爲四個主要模塊:Capture Core,WireTap, Protocol Interpreter and Dissector和GUIintrerface。其中Core使用pcap(windows下爲winpcap,linux下爲libpcap)抓取網絡數據包,獲取數據包後,WireTap把它保存爲二進制文件。
主要功能模塊如下:
1,GTK 1/2:圖形窗口工具,操控所有的用戶輸入/輸出界面。
2,Core:將其它模塊連接起來,起到綜合調度的作用。
3,Epac:Wireshark協議解析器。
4,Capture:數據包捕包引擎,利用winPcap/libPcap庫從底層抓取網絡數據包,winPcap/libPcap提供聊通用的抓包接口,能從不同的網絡接口獲取數據包。
5,win-/libpcap:wireshark抓包時依賴的庫文件。
6,wiretap:從磁盤讀寫數據包文件的引擎,從抓包文件中讀取數據包,支持多種文件格式。
另外:
wireshark自己會創建兩個進程,一個負責抓包,一個負責解析,抓包進程和解析進程會通過一個“pipe”通信,發送類似抓到包啦等信息。抓包進程會將報文緩存到臨時文件,解析進程負責讀取。