首页
社区
课程
招聘
[求助]用raw socket 模拟TCP三次握手遇到问题
发表于: 2014-5-3 01:06 5407

[求助]用raw socket 模拟TCP三次握手遇到问题

2014-5-3 01:06
5407
程序在发送SYN给服务器后无法接收到服务器返回的SYN|ACK包,而在wireshark可以看到实际是有SYN|ACK包的,而且系统还自动发了个RST包给服务器,网上搜了下资料,说是协议栈把这个包处理掉了(测试环境是Linux),有没有办法让系统不自动处理掉服务器SYN|ACK包呢,或者用其他途径实现模拟TCP三次握手

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 48
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我在windwos实现了这个过程,通过写一个驱动拦截rst的数据包,从而实现模拟3次握手,linux下面拦截数据包貌似有直接提供的API吧,你只要拦截对应的RST数据包即可,而可以自己在底层发现是你自己构造数据包或者应答数据包就不上传到应用层,linux不太熟,只能提供这样思路给你。
2014-5-3 09:37
0
雪    币: 29
活跃值: (499)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
3
Linux环境下,你需要去驱动层截取数据包,然后使用诸如netlink之类的用于内核层与用户层通信的机制,将截取到的数据包发送到用户层来进行处理~
2014-5-3 11:37
0
游客
登录 | 注册 方可回帖
返回
//