Java Jpcap:IP包头长度
在JPCap中,我通过以下代码获得IP数据包的报头长度Java Jpcap:IP包头长度,java,networking,jpcap,Java,Networking,Jpcap,在JPCap中,我通过以下代码获得IP数据包的报头长度 IPPacket IP_pac = (IPPacket) packet; System.out.println(IP_pac.len); // header length 我通过以下方式获得IP数据包的数据长度: System.out.println(IP_pac.data.length); 现在的问题是,当IP数据包的数据长度为0时,IP数据包(IPV4)的长度应为20字节。但结果显示IP数据包的报头长度为60和5
IPPacket IP_pac = (IPPacket) packet;
System.out.println(IP_pac.len); // header length
我通过以下方式获得IP数据包的数据长度:
System.out.println(IP_pac.data.length);
现在的问题是,当IP数据包的数据长度为0时,IP数据包(IPV4)的长度应为20字节。但结果显示IP数据包的报头长度为60和54。
第二,默认情况下,我认为这些IPOPAC.DATA长度是否为字节?< P>根据长度为短:
public short length
packet.data
给你一个byte[]
,因此在此调用.length
会返回一个int
(就像所有其他数组一样)。所以我必须将它从int转换成字节?(也就是说20,30等字节的有效负载)。如果需要有效负载长度,packet.data.length
就可以了。您还可以在IP数据包报头的总长度(以及Internet报头长度)中获得此信息。有关更多信息,请参阅。