免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7902 | 回复: 16
打印 上一主题 下一主题

禁止发送RST包 [复制链接]

论坛徽章:
0
跳转到指定楼层
[收藏(0)] [报告]
发表于 2009-04-03 15:41 |只看该作者 |正序浏览
10可用积分
我是截网卡数据,自己发送SYN包,收到机器返回的ACK,但本机又立马发了个RST包,我想把RST包屏蔽掉。不知道通过什么方法可以做到?

论坛徽章:
0
16 [报告]
发表于 2013-04-15 18:36 |只看该作者
回复 16# zimang


    好 谢谢 上班了比较忙 这两天我抽时间有空研究下

论坛徽章:
0
15 [报告]
发表于 2013-04-15 18:23 |只看该作者
回复 15# foreverzeus


    对方发回来的数据包肯定是经过协议栈的,所以你只能在协议栈上做手脚。 你搜搜iptables ip queue, 这个可以把原始的数据包发到用户空间。然后你在用户空间回。

论坛徽章:
0
14 [报告]
发表于 2013-04-15 17:51 |只看该作者
回复 14# zimang


    其实就是想自己发packet 来模拟一些东西,比如tcp握手
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP)
用的是这个socket
这个socket能正常发东西,能够接收到发给本机的所有包,但是我看资料好像,收到的这些包是底层多拷贝了一份扔给这个socket的?

现在的问题是我发了一个syn 然后对方给我了发了一个syn+ack 我的机器马上给对方扔了个rst,此时我的socket读到syn+ack返回ack已经没用了。

楼主想屏蔽rst 估计也是遇到这样问题。
不过如果raw_socket的实现的确是拷贝一份的话 那么明显这样是不行了,因为系统收包比我快,先给了rst。
是否我能用socket绑定某个端口,让某个端口的数据一定是到我这里来,并不是拷贝的呢?好像写了一些也不行。疑问多多,对协议栈了解不深。
能否指导下?

论坛徽章:
0
13 [报告]
发表于 2013-04-15 16:20 |只看该作者
回复 13# foreverzeus


    不知道你的需求, 我以为你的需求和lz标题一样。

论坛徽章:
0
12 [报告]
发表于 2013-04-15 16:14 |只看该作者
回复 12# zimang


    需要到这么底层?之前我试过用一个client来发syn包 我来回syn+ack 也是马上就出现rst。

从某种程度上来说,是不是因为另一端跟我通信的目的端口,在我这边系统认为没有开启导致的呢?
兄弟能说大概要处理哪些地方吗?

论坛徽章:
0
11 [报告]
发表于 2013-04-15 10:19 |只看该作者
回复 11# foreverzeus


    改协议栈

论坛徽章:
0
10 [报告]
发表于 2013-04-15 09:59 |只看该作者
不知道楼主解决了这个问题没有
我现在也发现这样 但是这个rst包不是我发出的 应该是系统在底层协议栈就发出了 不知为啥

论坛徽章:
0
9 [报告]
发表于 2011-10-15 06:59 |只看该作者
你应该找为什么会出rst包,显然是你的状态机有问题才会出你不希望看到的包。

论坛徽章:
0
8 [报告]
发表于 2011-10-14 11:06 |只看该作者
改的状态机实现部分呗

论坛徽章:
0
7 [报告]
发表于 2011-10-13 14:37 |只看该作者
回复 7# fangshi168775


    如何改的呢,???求教,急急
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP