用JPCAP抓包,从中取出源/目的IP地址及辨认协议类型问题.如下:
参数byte[]取自jpcap.packet.Packet.data
我的方法:
byte[12-15]=源IP
byte[16-19]=目的IP
分别放入临时byte[4],用InetAddress.getByAddress(byte[])转.
没一次结果是对的.且看不出和正确IP有啥联系...协议也是相同问题
我用PING包试过...以上请大家帮忙,谢谢!
参数byte[]取自jpcap.packet.Packet.data
我的方法:
byte[12-15]=源IP
byte[16-19]=目的IP
分别放入临时byte[4],用InetAddress.getByAddress(byte[])转.
没一次结果是对的.且看不出和正确IP有啥联系...协议也是相同问题
我用PING包试过...以上请大家帮忙,谢谢!
JPCAP返回的HEAD长度是42
标准IP头长度是20
就算把ETHERNET HEAD[长度14]加进去也不够啊.
原因不知道.还请高手解答.
正确方法:
byte[26-29]=源IP
byte[30-33]=目的IP
byte[23]=IP 协议类型.