问候,
如何使用sharppcap从捕获的数据包中确定该数据包是否为http数据包?
我们能否确定frpm TCP数据包是否是HTTP数据包?
发布于 2010-04-16 10:57:18
根据rfc2616 - Hypertext Transfer Protocol -- HTTP/1.1的说法
消息的版本由消息第一行中的HTTP-Version字段指示
因此,您可以检查数据包并扫描消息报头中的HTTP版本文本,和/或HTTP协议的其他已知字段。尽管如果一条消息被分解成多个包,这种方法可能不是100%准确,但它可能已经足够好了,至少作为第一次剪切。
发布于 2010-04-17 00:13:39
我是sharppcap/packet.net的作者/维护者。
我有几个执行tcp重组和http解析的类,在一个复杂的网络监控应用程序中使用它们来识别和跟踪http sessions。这些都经过了充分的单元测试和良好的评论。
它们可用于二进制或源代码级别的许可。
编辑:为什么要否决这篇文章?它花了数百个小时来开发代码和测试,这是一个已经被重用的解决方案的一滴。在重新实现相同的功能之前,这当然值得考虑。
发布于 2010-04-16 13:46:59
听起来您看到的是单个TCP片段。如果它来自一条消息的开头,它的第一行将有一个HTTP版本,但如果你只是从网络上随机拉出数据包,并希望能够告诉他们是HTTP,那么你就不走运了- TCP片段中没有任何东西表明其中包含了什么。要知道这一点,唯一的方法就是观察整个对话过程。
https://stackoverflow.com/questions/2650261
复制相似问题