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

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

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

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 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
游客
登录 | 注册 方可回帖
返回
//