0

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

4

2 回答 2

0

关于 Java的愚蠢可爱的事情之一是完全没有无符号类型。因此,一个好的起点是获取您的字节数组并将其转换为一个短数组,以确保您没有任何翻转问题。(每个数字 16 位与 8 位)。

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

如果您在这些单独的步骤中需要任何帮助,我很乐意提供帮助。

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

于 2013-06-05T18:29:42.523 回答
0

JNetPcap 完全可以做到这一点。以下是示例

缺点:在这个库中解析 http 已弃用*,但这并不意味着它不起作用

*我不能再发布没有更多声誉的链接。对不起。你可以谷歌“jnetpcap http deprecated”

于 2016-01-27T22:35:39.650 回答