欢迎来到天天文库
浏览记录
ID:14156182
大小:43.50 KB
页数:18页
时间:2018-07-26
《对几种穿透防火墙技术2》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、对几种穿透防火墙技术2D0000D发往论坛板块-------------------------------------------------------No2号板块技术文章D8888D贴子标题-------------------------------------------------------对几种穿透防火墙技术D8888D主贴内容-------------------------------------------------------以下是本人对几种穿透技术学习笔记和一点自己的想法:防火墙是基本网络安全策略之一,它
2、可以阻止不信任的外部网络用户对内部网络用户的访问,如果外网用户同内网用户之间的通信由外网用户发起,通信通常会被防火墙阻断,尤其是对TCP连接敏感,因此我们如果才能保证正常的数据传输呢,特别是非主动连接情况下,怎么保证连接和数据通信的安全稳定性呢?人们使用穿透防火墙技术(常用):1.反向连接------>由内网用户发起的连接请求,在x防火墙规则下,是允许安全的2.HTTP隧道技术------>就是吧所有要传送的数据全部封装到Http协议里进行传送3.端口复用技术------>也称端口劫持技术,。其原理主要是通过修改套接字属性来实现端口
3、重绑定,这种技术在接受外来数据包的时候通常是由主机进行转化,然后用户接受的4.共享DNS套接字句柄技术------>这主要是使用了dns服务是所有防火墙免疫的功能来实现的,同时DNS套接字句柄技术最大的特点还是才用UDP通信的(后面将通过引用ZwelL的一些代码来说明)今天我们主要介绍几种组合的穿透防火墙技术1.反向连接与HTTP隧道技术反向连接是由内部网络用户主动发起的连接请求,在防火墙规则下是合法的,假设现在有程序S,CS---->代理------>C服务端程序s由内部网络发起对C连接请求,通过代理服务器获取相应的IP和端口<-
4、----(ip,port)建立socket套接字,设置端口号:8080-------------=======================当C/S建立连接后,进行数据传送的时候,这个时候我们使用HTTP隧道技术,将所有要传输的数据头经过HTTP协议封装,加个HTTP请求头:"Get/HTTP/1.0rUse-Agent:Molliza/1.22rAccept:*/*rr",同时在数据后面加上$$标记,用户在接受到数据的时程序根据预先设定的标记找到数据段,去除HTTP请求头,再把数据交由程序进行处理采用反向
5、连接+HTTP隧道技术也存在很多局限性1.采用的端口号为802.利用HTTP隧道传输数据需要对数据进行HTTP封装,在混乱的HTTP隧道不能完全保证数据的完整性和安全性,对数据的解封也是一些需要考虑的问题3.采用数据采集工具和像IS那样的工具可以检测出来4.防火墙不是傻子,所以规则由时候是不能由我们去改变的如何可以的吗,我们希望是让S程序为我们自动做个第三方端口映射,而此时第三的稳定性成为了我们的..........2.共享DNS套接字句柄技术这个技术大家在05的时候就应该有所闻了,那是ZwelL发表在安焦上的一篇“一种新的穿透防火
6、墙技术”里面采用的就是利用了dns服务是UDP通信同时又是所有防火墙所不能拒绝的.......该技术使用了win终端服务库所提供的API函数大概的流程:利用wstapi中提供的函数列举所有系统进程----->查找目标进程或目标服务进程----->记录保存目标进程的PID------>利用获取的PID得到套接字句柄---->创建套接字进行通信============具体实现代码:以下引用ZwelL关于一种.....代码==================/*++MadeByZwelL[url=http://www.t00ls.net/
7、mailto:zwell@sohu.com]链接标记zwell@sohu.com[/url]2005.4.12--*/#include#include#include#pragmacomment(lib,"ws2_32")#pragmacomment(lib,"wtsapi32")#defineNT_SUCCESS(status)((NTSTATUS)(status)>=0)#defineSTATUS_INFO_LENGTH_MISMATCH((NTSTATUS)0x
8、C0000004L)typedefLONGNTSTATUS;typedefstruct_SYSTEM_HANDLE_INFORMATION{ULONGProcessId;UCHARObjectTypeNumber;UCHARFlags
此文档下载收益归作者所有