2013-10-01 106 views
2

我有一臺Windows PC,Marvell交換機,Netgear交換機和一臺連接在一起的Ubuntu機器(通過Netgear交換機)。Wireshark包數據格式

我最近從Windows PC發送一個包到Marvell交換機。我在Wireshark上嗅探這個數據包,但是數據包的字段,即Frame,Ethernet II,802.1Q和Data包含了我不明白的信息,因爲它的格式不同。

下面是一個例子 -

Data (42 bytes) 
Data: cf0b0800000100002000079898000b980000ffffffff0000... 
0000 01 50 43 00 00 00 94 de 80 7e 7a fa 91 00 00 00 
0010 40 fa cf 0b 08 00 00 01 00 00 20 00 07 98 98 00 
0020 0b 98 00 00 ff ff ff ff 00 00 00 00 00 00 00 00 
0030 00 00 00 00 00 00 00 00 00 00 00 00 

我需要知道,實際的數據是什麼,可能有人建議什麼,我需要做的,所以在顯示格式的數據是可以理解的。

回答

3

「框架」不對應您顯示的任何數據;它對應捕獲文件中的「元數據」,由捕獲機制提供。

原始數據包數據是「Data:」行後面的內容。

其中的前14個字節是以太網報頭;請參閱IEEE 802.3規範,或者,例如,有關其格式的信息,請參閱the Wikipedia page on the Ethernet frame format。請注意,Wireshark確實是而不是捕獲前導或開始幀分隔符,並且通常也不捕獲CRC,因此它們不在數據中。

以太網類型字段爲91 00,即「QinQ」以太網類型;這意味着它是包含以太網類型字段的4個字節的VLAN(802.1Q)報頭的一部分。有關其格式的信息,請參閱IEEE 802.1Q規範或例如the Wikipedia page on 802.1Q

什麼遵循VLAN頭是另一個以太網類型字段,但該類型字段的值是40發,這是不是一個已知的以太網類型,所以Wireshark的可能只是放棄,並表示一切後,40發的「數據」。

因此,該幀可能是格式錯誤,因爲其格式爲錯誤

0

我明白它是如何在第一14字節等的目的地和源地址,在它顯示協議列中的協議爲0x40fa

p.no
1___ 0.000000_ _千兆Byt_7e:7A: fa_ _ MarvellS_00:00:00_ _ 0x40fa__

它不顯示數據包在被Wireshark的畸形

我做通過Marvells GUI更改端口的速度,因此更改後生成並捕獲該數據包的原因。當我在GUI中選擇不同的端口並更改端口速度時,數據包數據實際上會發生變化。

所以我猜這個數據包沒有格式錯誤,而是讓Marvell自己的結構不被wireshark識別?

因此,我錯誤地認爲我可能需要從Marvell訪問來解碼實際數據以查看其結構