【发布时间】:2010-12-04 12:29:36
【问题描述】:
如果我有一个大的 HTTP 数据包,它已被拆分为多个 TCP 数据包,我如何将它们重新构建为单个 HTTP 数据包?基本上,我在数据包中的哪个位置查看 HTTP 数据包何时开始/结束?我似乎看不到 TCP 标头中表示 HTTP 数据包开始或结束的任何标志/字段。
编辑:跟进回复。如果 TCP 管理流,它如何知道流何时开始和结束?那是由插座打开和关闭决定的吗?某些协议在某种程度上必须能够知道 HTTP 流/数据包何时开始和结束。这就是我想知道的。
我现在的情况是我在 C# 中使用了一个数据包嗅探器,它读取 TCP 数据包,我希望能够重建 HTTP 请求/响应/等。像wireshark和其他各种嗅探器一样通过界面。或者,是否有任何 C# 库可以让您在更高级别利用 HTTP 流,而不必自己重建 HTTP 流/数据包?
谢谢。
【问题讨论】: