在Java中,我如何将字节数组(来自pcap文件的TCP数据包有效负载)转换为某种HTTP对象,我可以使用它来获取HTTP头和内容体?
答案 0 :(得分:0)
关于Java的其中一个愚蠢的可爱之处是缺少无符号类型。所以,一个好的起点是将你的字节数组转换成一个短数组,以确保你没有任何翻转问题。 (16位,每位数8位)。
从那里,您可以使用BufferedOutputStream
将数据写入文件,并使用Java内置XML读取器(如JaxB或DOM)对其进行解析。 BufferedOutputStream
将十六进制直接写入文件,并可以输入int, byte,
或short
数组。在你写出来之后,使用OutputStream
来解析HTML应该非常简单。
如果您需要任何帮助,我们很乐意为您提供帮助。
编辑:正如maerics指出的那样,也许我没有理解你在问什么。无论如何,用BufferedOutputStream
编写字节数组是我认为的方法,如果你愿意,我仍然可以帮助你构建一个解析器。
答案 1 :(得分:0)
JNetPcap可以做到这一点。 以下是
的示例缺点:解析此库中的http是否被删除*,但这并不意味着它不起作用
*如果没有更多声誉,我就无法发布更多链接。抱歉。你可以谷歌“jnetpcap http弃用”