2016-02-26 32 views
7

我在Ubuntu 16.04(4.4內核)上使用scapy收集802.11數據包。我的包的RadioTap頭有以下現時標誌:爲什麼我的ath9k生成的RadioTap頭文件看起來格式錯誤?

present=TSFT+Flags+Rate+Channel+dBm_AntSignal+b14+b29+Ext 

鑑於RadioTap的描述,我希望頻道開始在第10字節以下的報頭和先前場(8 TSFT + 1各爲標誌和費率)。 Channel的對齊方式爲2,因此不需要填充。然而,這是什麼是在分組的未解碼的部分:

notdecoded=' \x08\x00\x00\x00\x00\x00\x00f\xc0 \x02\x00\x00\x00\x00\x10\x02l\t\xa0\x00\xa9\x00\x00\x00\xa9\x00' 

在這種情況下信道號實際上出現在字節18-19(「L \ T」 = 2412),和即時通訊不知道什麼字節包含dBm信號強度。

任何人都有一個想法,我失蹤了?

+0

我剛剛嗅過的數據包的'notdecoded'屬性是''xd5q \ x01 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x10 \ x02l \ t \ xa0 \ x00 \ xfa \ x01 \ x00 \ x00' ',這是有道理的,因爲'未解碼[10:12] ='l \ t''。你可以編輯這個問題來包含整個數據包,而不僅僅是'notdecoded'部分嗎?當用這個數據包餵食時,wireshark會顯示什麼? – Yoel

+0

使用我的英特爾無線網卡可以獲得相同的結果,一切都在正確的位置。 tcpdump能夠解碼數據包,我需要的答案是有人理解那些額外的8字節。我會嘗試登陸系統並抓取一個數據包並更新我的問題。 –

回答

2

找到了答案挖成的說明之後深一點:

Scapy的不解析擴展頭由作爲標誌着位32(雖然它沒有告訴我他們通過陳述+分機上面的)。那些額外的頭文件塞滿了數據包'未解碼'部分的前面。我認爲scapy應至少從未解碼的文件中移除這些擴展頭文件以避免將來的混淆。

在這種特殊情況下,有兩個額外的32位擴展位圖標題,佔額外的8個字節。

如果有人想寫更詳細的答案,不好接受它,否則我會清理這個答案,永遠接受它。

相關問題