跳至正文

网络的漏洞

  • 技术
  我先有话在先,我现在15岁,高一,只是对Linux, Unix有些爱好,如果说的什么都不是千万不要喷。。
  我是在看Unix网络编程 第一卷 第三版 38页的时候想到的一个思路,当然我不可能实现咯……就是说TCP在关闭时会有一个TIME_WAIT状态,这个状态是为了两个理由存在的:1,实现可靠的TCP全双工连接的终止;2,允许老的重复分解在网络中消逝。看到这里和下文我就想了,数据被传输是通过路由的对吧,也就是可以表示成:
网络的漏洞 - NeWorldMaker - My S-K-Y
  (我习惯的画图工具Flash 没装, 就用的Windows 7的图画工具)
  这样是没有错的吧? 然后针对TIME_WAIT存在的第二个理由,消逝的理由就是防止数据在下一次连接中出现,避免不必要的问题对吧,那我就想了,如果我能控制路由的话,在分节消逝之后再让它出现在网络中会怎么样呢?
  把这个思路再进一步修改一下,当数据经过我的路由时我对它进行拦截+分析+修改,然后发送过后的数据到目的地去,就能够让网络不正常吧?当然咯,我这个想法很天真,因为全世界不止我这一台路由,但是如果有数据从我这台路由上通过的话我能否这样实现呢?
  如果可以的话,我会再把这个玩狠一点:当有数据经过我的路由器时,将数据拦截下来,如果是ACk分节的话,将ACK分节发送给目的地。然后再发送(以发送源的身份)一个FIN n+1(n是ack的值),然后对源(以目的的身份)发送一个FIN;如果不是ACK分节就更好,直接对双发发送FIN分节。
  嘿嘿,总之就是说接收到分节,不是直接将其转发,而是进行分析之后对双发发送FIN分节,如图:
网络的漏洞 - NeWorldMaker - My S-K-Y
  思路大概就是这样,但是这一切的前提都是我能够控制路由器,而且有数据经过我的路由器,最重要的是我非常无聊。。
  思路我先留着,看以后能实现不,控制路由。。暂时还有点远,现在是NOIp。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注