将字节数组解析为HTTP对象

时间:2013-06-05 17:52:10

标签: java pcap

在Java中,我如何将字节数组(来自pcap文件的TCP数据包有效负载)转换为某种HTTP对象,我可以使用它来获取HTTP头和内容体?

2 个答案:

答案 0 :(得分:0)

关于Java的其中一个愚蠢的可爱之处是缺少无符号类型。所以,一个好的起点是将你的字节数组转换成一个短数组,以确保你没有任何翻转问题。 (16位,每位数8位)。

从那里,您可以使用BufferedOutputStream将数据写入文件,并使用Java内置XML读取器(如JaxB或DOM)对其进行解析。 BufferedOutputStream将十六进制直接写入文件,并可以输入int, byte,short数组。在你写出来之后,使用OutputStream来解析HTML应该非常简单。

如果您需要任何帮助,我们很乐意为您提供帮助。

编辑:正如maerics指出的那样,也许我没有理解你在问什么。无论如何,用BufferedOutputStream编写字节数组是我认为的方法,如果你愿意,我仍然可以帮助你构建一个解析器。

答案 1 :(得分:0)

JNetPcap可以做到这一点。 以下是

的示例

缺点:解析此库中的http是否被删除*,但这并不意味着它不起作用

*如果没有更多声誉,我就无法发布更多链接。抱歉。你可以谷歌“jnetpcap http弃用”