Visual c++ 事物的顺序 我在C++中有一个嗅探器,在那里我得到源IP、目的IP、控制位和序列号。我还得到了IP头和TCP信息。我想获取数据包的内容类型。我需要重新组装数据包才能做到这一点吗?或者我可以使用http请求和响应来获取数据包的内容类型。非常感谢您的帮助,谢谢

Visual c++ 事物的顺序 我在C++中有一个嗅探器,在那里我得到源IP、目的IP、控制位和序列号。我还得到了IP头和TCP信息。我想获取数据包的内容类型。我需要重新组装数据包才能做到这一点吗?或者我可以使用http请求和响应来获取数据包的内容类型。非常感谢您的帮助,谢谢,visual-c++,Visual C++,没有“内容类型”。TCP将只为TCP上面的层提供一个八位组流来进行解释。如果您正在通过TCP嗅探HTTP,则必须组装数据包,并自己解析HTTP 你考虑过使用吗 更新 通过将TCP数据包组装到八位字节流中,基本上可以将TCP数据包的有效负载附加到一个大字节数组中。请确保注意TCP数据包的序列号,因为数据包可能会无序到达 解析HTTP内容要复杂得多。第一个标题始终为ASCII格式。它们指定内容类型和内容长度。内容类型部分比较棘手。东西可以用各种编码技术编码,也可以用另一种编码技术(zip流、SSL等

没有“内容类型”。TCP将只为TCP上面的层提供一个八位组流来进行解释。如果您正在通过TCP嗅探HTTP,则必须组装数据包,并自己解析HTTP

你考虑过使用吗

更新

通过将TCP数据包组装到八位字节流中,基本上可以将TCP数据包的有效负载附加到一个大字节数组中。请确保注意TCP数据包的序列号,因为数据包可能会无序到达

解析HTTP内容要复杂得多。第一个标题始终为ASCII格式。它们指定内容类型和内容长度。内容类型部分比较棘手。东西可以用各种编码技术编码,也可以用另一种编码技术(zip流、SSL等)封装

  • TCP RFC:
  • HTTP 1.1 RFC:

这可能是一个好主意,看看Wireshark和它是如何做到的。我不确定WinPcap是否包含HTTP的过滤器和解码器(基本上为您提供HTTP的内容)。无论如何,可能值得检查代码。

好的,不能使用wireshark。我正在通过TCP嗅探http。我如何组装这些包?有什么例子吗?那么如何解析http呢?对不起,我是新手。谢谢你没有理由否定这一点。如果你这么聪明,你不回答这个问题吗???