穿越防火墙,写点心得,发点牢骚...
来源:互联网 发布:js input属性disabled 编辑:程序博客网 时间:2024/04/29 21:05
最近一直都在搞TCP/IP网络通信的程序设计。老师让写个穿越防火墙的程序,刚拿到的时候真的是一点头绪都没有。甭说穿越防火墙了,就是普通的TCP/IP通信程序,大学的时候也写的很少。不过没办法,毕竟是boss,boss就是上帝,要不惜一切代价满足他的各种需求,即使某些需求是abnormal的。所以便充分利用互联网资源研究了一番,然后整了近半个月的代码。
当然,成果是弄出来了,结论也出来了。其实原理相当easy,说到底就是利用防火墙“只管进不管出”的“漏洞”而已。防火墙肯定是指的主流的网关防火墙以及个人电脑的防火墙。这个“漏洞”,说实话,叫它为漏洞有点冤枉了它,因为用脚趾头都能想明白,如果防火墙“又管进又管出”,连数据都不允许随意往外发了,那未免太过了点。用了这样的防火墙,搞不好下载也不能用,ftp也不能用,qq也不能用,最过的,如果它连80端口也给限制了,上网的请求都可能发不出去了,这样的“全面功能”,估计要被人喷饭吧。
不过也正是如此,才可以被黑客利用。搞过TCP和UDP程序设计的人都知道,只要有绑定操作,也就是有bind函数的使用,防火墙肯定会弹的。因为它意味着未来将有数据从你绑定的端口进来。对于TCP来说,绑定的目的是为了监听连接,也就是客户端发过来的连接请求;对于UDP来说,绑定的目的是为了在特定的端口接收消息,也就是实现端到端通信。总之都会有数据“进来”。防火墙的基本功能就是“防入侵”,当然得弹了。所以穿越防火墙的关键之一就在于把这个bind函数pass掉。
当然,还有另外一个关键点,就是防火墙“不管出”的特点。还是说TCP的程序,当发起连接的时候,客户端的防火墙是不会弹的,因为数据是“出去”的而不是“进来”的,这样客户端在发起连接的时候就等于在自己机器上打了一个“洞”,这个“洞”就是发起连接的时候由系统分配的一个端口号。以后从这个端口号发进来的数据,防火墙都不会弹。
跳过bind函数,“打洞”,有了这两条,穿越防火墙就可以实现了。简单点说,就是把黑客的机器当服务器用,把要攻击的机器当客户端用就行了。首先种植后台程序到待攻击的机器上,让它随系统启动的时候启动,并隐藏在系统进程中,启动后就主动向黑客的机器发起连接(当然,黑客的机器的防火墙肯定会弹了,但是这对于黑客来说就无所谓了,因为是自己定义的程序的连接端口号,是自己写的程序在连接);连接成功后,“打洞”就成功了,之后黑客就可以利用这个“洞”来对被攻击的机器“为所欲为”了。TCP的如此,UDP同样可以实现,只要让待攻击的机器的程序先向黑客的机器发一个UDP数据包就可以了,之后同样可以利用这个“洞”来“为所欲为”。
所以,所谓的穿越防火墙,一言以蔽之,利用防火墙“只管进不管出”的特点,把黑客的机器当server用。
结果呢,这个东西硬是被那些所谓的“专家”整成了什么TCP“反向连接技术”,搞的神秘兮兮的,服了。看来现在真的是什么研究成果,不管大小,都可以整一个专有技术名词,然后写一堆背景,搞一堆比较,画一堆图,最后再“躲躲藏藏遮遮掩掩”地把搞出来的这点“可怜”的“技术”公之于众,以显示自己是“专家”。之后就可以躺在这个“技术”上面吃饭了。
不过也没办法,他们要不这么搞,论文量就上不去了嘛;论文上不去,呵呵,有他们熬的了。
所以整个中国学术才搞成这个样子。
哎,不说了,本来准备说点编程心得,居然开始骂学术了,以后得更低调点说话....
!@#$^&*()_+{}|:"<>?
over~~~~~
- 穿越防火墙,写点心得,发点牢骚...
- 发点牢骚
- 发点牢骚...
- 发点牢骚!
- 发点牢骚
- 开始写点心得
- 博客开业写点心得
- 写点心得,持续更新~
- 被骗,郁闷,发点牢骚.
- [转贴]再来发点牢骚
- 发点小牢骚!
- 写代码提高效率的几点心得
- 特别的日子发点牢骚
- 做程序员,我发点牢骚
- 对最近的一个项目发点牢骚
- 写Windows服务的几点心得(C#/VS2003)
- 开发几点心得
- SQL -- 八点心得
- 来到了CSDN
- kbuild系统-内核模块的编译
- 相亲
- 滑出式菜单
- 非常实用全面的风水知识
- 穿越防火墙,写点心得,发点牢骚...
- 郎咸平09年11月22日的演讲
- ntohl和htohl在VC里的link error解决方法
- 窗口换肤
- 关于EXCEL2007中ADO的数据库引擎
- GridView中增加自增列的一种方法
- 由左侧向右活动
- 手机软件的辉煌未来---打造个人软件专家!
- 误打误撞进入这里,很想学习进步