首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我是否可以使用BSD原始套接字向成功接收的SYNACK发送ACK响应?

我是否可以使用BSD原始套接字向成功接收的SYNACK发送ACK响应?
EN

Stack Overflow用户
提问于 2010-12-20 20:18:31
回答 1查看 828关注 0票数 0

我的代码尝试手动建立TCP握手,然后通过HTTP GET发送请求资源的数据段。

我使用原始套接字来制作报头并发送数据包,并使用libpcap来检查接收到的数据包报头。

SYN被成功地发送给接收者,然后接收者用SYNACK回复我。到目前为止,它工作正常,但是当我收到SYNACK时,我尝试ACK它,然后发送HTTP GET,这看起来不起作用。我可以在wireshark中看到标题是正常的。

所以我的问题是:我是否可以通过原始套接字ACK SYNACK,就像我使用发送SYN时使用的相同套接字接收它一样?为了实现这一点,有没有任何必要的OPTIONS与头部一起使用?

我ACKing那个SYNACK,然后我发送了一个设置了ACKPSH标志的数据段,以便通过HTTP请求资源。我可以在wireshark上看到它们,但我没有从服务器得到响应。

EN

Stack Overflow用户

发布于 2010-12-20 22:35:14

你没有理由不能使用原始套接字进行ACK,但是你的操作系统的内核堆栈也会看到它不期望的SYNACK,并发送一个RST。你有没有采取什么措施来防止这种情况发生?否则,您可能没有发送正确的SEQ/ACK号码。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4489537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档