2012-05-28 37 views
0

在JPCAP i。由下面的代碼JPCAP:IP分組報頭長度

IPPacket IP_pac = (IPPacket) packet; 
    System.out.println(IP_pac.len); // header length 

i加

System.out.println(IP_pac.data.length); 

獲取IP數據包的數據長度現在獲取IP分組的報頭長度問題是當IP數據包的數據長度爲0時,IP數據包(IPV4)的長度應爲b 20個字節,但結果顯示IP數據包的標頭長度爲60和54.其次,我認爲這些長度IP_pac.data.length默認爲字節?

回答

0

按照API,長度短:

public short length 

packet.data給你一個byte[],所以調用此.length返回int(所有其他陣列等)。

+0

所以我必須將它轉換成int字節? (爲了說20,30等有效載荷的字節)。 – Xara

+0

如果你想要有效載荷長度,'packet.data.length'很好。您還可以在IP數據包標頭的_Total Length_(以及_Internet標頭長度_)中獲得此信息。有關更多信息,請參見http://en.wikipedia.org/wiki/IPv4。 – Thor