我正在尝试理解 PCAP 库。 我能够应用过滤器并在端口 80 处获取 TCP 有效负载。但是接下来该怎么办?如何读取 HTTP 数据 - 假设我想知道 http header 中的“用户代理”字段值。我应该如何继续? 我搜索了该网站(也用谷歌搜索了很多),并且可以在这里找到相关的线程: writing a http sniffer 。但这对我没有任何帮助......
谢谢!!
最佳答案
首先,您应该知道 PCAP 为您提供数据包,并且不会重建 TCP 流,因此如果不先重建数据,您将无法读取完整的 HTTP TCP 流。
假设所有数据都在一个数据包中,请尝试查看我的答案 a similar question 。您所需要做的只是解析 HTTP header 并获取用户代理。
如果您不局限于 C,并且可以使用 Windows,则可以编写 .NET 应用程序并使用 Pcap.Net完美解析以太网、IPv4和TCP。
关于http - 编写 http 嗅探器(或任何其他应用程序级嗅探器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2905430/