2011-01-26 60 views
0

wireshark如何解釋物理包? 據我所知,所有的數據包看起來都是一樣的,那麼它如何解碼它們以傳遞到下一個更高的協議呢?Wireshark物理包

回答

1

當它用於捕獲實時流量時,它知道接口的類型並因此知道數據包的L2封裝,並且當它讀取pcap文件時,該文件在標題中有一個指示網絡類型的字段。

+0

ohk謝謝你的信息... – user420878 2011-01-26 19:12:40

+0

多一個查詢... Dissector_tables用於存儲特定解剖器的子解剖器。那麼這個Dissector表對每個Dissector都是本地的,還是那裏有什麼樣的映射? M beginer – user420878 2011-01-26 19:13:44

1

可能有許多不同的機制。您可以下載解剖器並研究源代碼以找出各種方法。我寫了一個網絡嗅探器的解剖器,並將它移植到Ethereal然後Wireshark(或者可能是別人移植它;我不記得)。但基本邏輯是解剖器被添加到可能的解剖器列表中。 Wireshark稱爲解剖器,如果可能的話,解碼數據包。如果不是,它會調用鏈中的下一個。

在我寫的代碼中,我簡單地分析了數據包(在我的情況下是UDP),以確定它是否符合使用數據包中的校驗和和已知數據的所需數據包的配置文件。如果它決定它是我感興趣的數據包,我只是從數據包中提取了各種有趣的數據。函數tvb_get_ptr返回一個指向數據開始的指針。