我試圖識別我正在接收的數據包的以太類型。醚類型ID是608,在Ethertype.h(libpcap 1.2.1)中沒有相應的定義。大部分接收到的數據包都有8種類型,在Ethertype.h中沒有相應的定義。有沒有人有任何想法背後的原因可能是或我應該與錯誤報告聯繫TCPDump。PCAP以太網類型返回
1
A
回答
1
pcap_datalink()
對您捕獲的pcap_t
的返回值是多少?
如果不是DLT_EN10MB
(其值爲1),那麼您的數據包不是以太網數據包,您不應將它們解析爲以太網數據包。
如果是DLT_EN10MB
,那麼是那個十六進制608還是十進制608?如果它是小數點608,它是一個長度字段而不是一個類型字段。這同樣適用於8,它是相同的十進制或十六進制,因此是長度值而不是類型值。
0
從手冊頁:
「的ntohs和()函數轉換從網絡字節順序爲主機字節順序的無符號短整數netshort。」。
從我的代碼:
如果(ntohs和(以太網 - > ether_type)==爲0x0800)...
相關問題
- 1. ATM PCAP文件以太網PCAP文件
- 2. 以太網類型
- 3. 以強類型返回匿名類型
- 4. 如何使用Python解析pcap文件的以太網頭?
- 5. 如何從pcap文件中刪除以太網層?
- 6. 以太網和OSI型號
- 7. Pcap未完成類型
- 8. 我可以在返回子類類型
- 9. 返回類型
- 10. 返回類型
- 11. 返回類型
- 12. 返回類型
- 13. 本網站的返回類型格式
- 14. 大型以太網幀(超大型)?
- 15. 用Java以外的返回類型調用一個非空的返回類型
- 16. 語義網絡,數據類型和sparql。 (任意返回類型)
- 17. Hibernate返回類型
- 18. UISearchBar返回類型
- 19. $類型返回false
- 20. Mapstruct返回類型
- 21. 返回類型bindFromRequest.fold
- 22. PowerShell返回類型
- 23. RestTemplate返回類型
- 24. Boost.Bind返回類型
- 25. Java返回類型
- 26. Tuple.Create返回類型
- 27. WCF返回類型
- 28. WCF返回類型
- 29. JNI返回類型
- 30. 返回類型vararg?
的捕捉設備的文件處理程序返回1,當我運行通過pcap_datalink檢查。 據我發現的其餘數據,他們都在十六進制。 – Blackninja543 2012-03-18 20:00:03
沒關係,我想通了,原來我需要在ethertype上使用ntohs()。 – Blackninja543 2012-03-18 21:04:51