Networking tcp syn的强制选项

Networking tcp syn的强制选项,networking,tcp,Networking,Tcp,我正在为微芯片编写一个软件,它将通过以太网发送一些数据,我遇到了一个问题。我正在发送一个TCP SYN段,但服务器没有应答 一切看起来都很好,获得答案的数据包和我的数据包之间唯一的区别就是我的数据包没有选项池描述为可选的。是否有一些选项需要定义才能使SYN正常工作 如果有人知道如何以良好的形式从wireshark复制数据包,我将向您展示我的数据包。确保您的tcp报头填充字节设置为所有0或0xff正如cxxl在评论中提到的,问题是tcp校验和不正确。您能为您尝试发送的SYN数据包提供不同的报头值吗

我正在为微芯片编写一个软件,它将通过以太网发送一些数据,我遇到了一个问题。我正在发送一个TCP SYN段,但服务器没有应答

一切看起来都很好,获得答案的数据包和我的数据包之间唯一的区别就是我的数据包没有选项池描述为可选的。是否有一些选项需要定义才能使SYN正常工作


如果有人知道如何以良好的形式从wireshark复制数据包,我将向您展示我的数据包。

确保您的tcp报头填充字节设置为所有0或0xff

正如cxxl在评论中提到的,问题是tcp校验和不正确。

您能为您尝试发送的SYN数据包提供不同的报头值吗?具体来说,您能否提供数据偏移量的值并验证校验和是否正确?您指的是tcp校验和或ip报头校验和?tcp校验和验证已关闭,IP校验和正确。是否从头开始生成此数据包?如果是这样,任何报头中的错误都可能导致数据包被丢弃。您是否成功构建了ping数据包?这将验证您的以太网、IP低层头是否正确。是的,我从头开始构建,我将尝试构建ping数据包,但您理解为ping数据包的是什么?此ICMP通过ping发送?您可以将工作的TCP SYN和不工作的TCP SYN保存为K12文件,并将其放入您的答案中。我们可以将其导入wireshark并查看。-关于您的评论:AFAIK,您不能禁用TCP校验和。最好算一个合适的。时间戳是不必要的。