使用Winpcap进行Tcp会话重建

时间:2011-11-01 11:49:03

标签: c# tcp winpcap sharppcap pcap.net

我正在尝试从我的pcap文件重建tcp会话,这些文件包含使用winpcap捕获的网络数据包。我有一个项目将数据包拆分为会话。到目前为止,我可以根据他们的会话读取pcap文件和分组数据包。

我想学习的是在这次操作之后该怎么做。我想为了从这些会话中获取数据,我必须根据它们的序列号来订购这些数据包。我对吗?我是否需要额外的操作来构造tcp会话数据。我如何知道哪些数据是图像,HTML或JavaScript?任何关于良好资源的建议都将受到高度赞赏。

顺便说一句,我正在使用SharpPcap和Pcap.Net将数据包拆分为tcp会话。这些库是否足以用于tcp会话重建?

2 个答案:

答案 0 :(得分:2)

Pcap.Net已经有了一个HTTP解析器,如果人们会请求它们,可能会增加更多功能。

关于TCP重建,欢迎您投票支持此请求的功能,我希望在以下版本之一中进行。

TCP重建并不是那么简单,但是一旦将数据包分组到TCP会话,对它们进行排序并删除重复项,它就会起作用。仍然需要处理极端情况,这也取决于您收到数据包的线路的质量。

一旦你有一个重建的流,你可以使用Pcap.Net的HttpDatagram来解析它。

答案 1 :(得分:-1)

您基本上需要重新实现tcp / ip堆栈和http会话解析器。

需要重新排序Tcp数据包并删除重复/残留。

需要处理这些数据包以识别http会话。减压数据和标题处理将让您识别mime类型。

单独使用Sharppcap或pcapdotnet可以为您想要做的事情奠定基础。因为我是作者,所以我很乐意使用sharppcap。

如果您对经过单元测试并在其他商业产品中使用过的东西感兴趣,我有一个与sharppcap一起使用的商业产品可以同时执行tcp跟踪和http解析,chmorgan @ gmail.com。