网站大量收购独家精品文档,联系QQ:2885784924

对几种穿透防火墙技术2.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
对几种穿透防火墙技术2

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

文档评论(0)

mg60065 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档