0

我使用 libnet 构建函数构建了一个 http 数据包,并通过 libnet_write 发送它。我看到数据包通过wireshark发送成功,tcp和ip头都没问题。但是客户端无法解析我的数据包。例如,当我发送“HTTP/1.1 200 OK”数据包时,客户端没有加载html;当我发送“HTTP/1.1 302 临时移动”数据包时,客户端不会跳转到重定向站点。ETC..

4

1 回答 1

0

您在问题中没有提供任何代码,也没有提供您构建的数据包的示例,但是 HTTP 在 TCP 上运行,并且您提到只编写一个数据包。这行不通。建立 TCP 连接需要写入 SYN 数据包,读取 SYN/ACK 响应,并写入最终 ACK。

只有经过这 3 个数据包交换后,才能发送带有数据的 TCP 数据包。

此外,根本不清楚您为什么要这样做。如果您希望 HTTP 服务器接收数据,您应该使用普通的套接字 API 构造和发送它。

于 2015-03-30T01:48:46.060 回答