问题描述
我正在使用JAVA转换从wireshark获取的PCAP文件,而不使用本机或现成的库。
我直接将字节转换为字符串只是为了检查它的有意义部分。
然后我试图将它从十六进制转换为字符串。 这没有意义。
有一个java库 ,它包含了用c编写的所有libpcap库本机调用。
以下图片是无线网络捕获的。 所以pcap包含相同的信息:源IP,目标IP,协议,长度和信息
我试图从包含十六进制或二进制数据的pcap文件中获得相同的结果:
d4c3 b2a1 0200 0400 0000 0000 0000 0000
0000 0400 0100 0000 2fd4 b355 2af8 0600
3600 0000 3600 0000 0100 5e00 0016 f409
d8ed d951 0800 46c0 0028 0000 4000 0102
4049 c0a8 0308 e000 0016 9404 0000 2200
fa02 0000 0001 0300 0000 e000 00fb 2fd4
最后我想要输出像这样的东西:
任何线索或建议从哪里获取数据包和文件格式可以帮助我很多。 可能还有其他人已经遇到过这个问题?
谢谢
1楼
我在另一个博客上发现了这一点,可能对您有所帮助:
你可以像这样读取离线pcap文件(所有数据包): :
提取必要的信息并将其一个一个地保存在Txt文件中。
为了提取信息,你可以这样做: :
2楼
提问者提到jNetPcap并不理想,因为它包装了一个本地库。 在接受答案后的时间里,出现了一个纯Java库: :