FTP协议主动模式穿越SNAT

主动模式穿越SNAT主要用于FTP服务器部署在公网,客户端需要通过SNAT转换访问服务器。如图1-1所示,描述了FTP主动模式穿越SNAT时的工作流程,此时需要借助ALG技术才可以完成穿越防火墙。

图1-1 FTP主动模式穿越SNAT流程图

防火墙设备上配置了私网地址192.168.12.2到公网地址106.120.22.2/FTP服务的映射,实现IP地址的转换,以支持私网客户端对公网服务器的访问。组网中,若没有ALG对报文载荷的处理(图1-1中红色字体部分内容的变化),私网客户端发送的PORT报文到达公网服务器端后,服务器无法根据私网地址进行路由,也就无法正常地建立数据连接,从而导致私网客户端访问公网FTP服务器失败。如图1-2-(a)和图1-2-(b)所示,整个通信过程包括以下几个阶段:

  • 私网客户端与公网服务器之间TCP的三次握手建立控制连接;

  • 私网客户端发送PORT命令,携带私网客户端指定的用于数据连接的IP和PORT信息;

  • PORT命令到达防火墙时,报文载荷中的私网IP(192.168.12.2)和PORT(Y=31272=122*256+40)会被转换成为公网IP(106.120.22.2)和PORT(Y'=31272=122*256+40);

  • 公网服务器收到PORT命令后解析其内容,并主动向私网客户端发送数据连接(源IP-106.120.12.2、目的IP-106.120.22.2、源端口-20、目的端口-Y'=31272),经防火墙NAT转换后(源IP-106.120.12.2、目的IP-192.168.12.2、源端口-20、目的端口Y=31272)发送至公网服务器,从而实现私网客户端访问公网服务器。

图1-2-(a) FTP主动模式穿越SNAT-Client

图1-2-(b) FTP主动模式穿越SNAT-Server

FTP协议被动模式穿越SNAT

被动模式穿越SNAT主要用于FTP服务器部署在公网,客户端需要通过SNAT转换访问服务器。如图2-1所示,描述了FTP被动模式穿越SNAT时的工作流程,此时不需要借助ALG技术也可以完成穿越防火墙的(为什么呢?请思考一下)。

图2-1 FTP被动模式穿越SNAT流程图

如图2-2-(a)和2-2-(b)所示,防火墙配置同“1.FTP协议主动模式穿越SNAT”章节所述,整个通信过程包括以下几个阶段:

  • 私网客户端与公网服务器之间TCP的三次握手建立控制连接;

  • 私网客户端发送PASV命令,公网服务器响应PASV命令,携带公网服务器指定的用于数据连接的IP和PORT信息,被动地等待客户端来连接;

  • PASV响应命令到达防火墙时,报文载荷中的公网IP(106.120.12.2)和PORT(Z=23076=90*256+36)不会进行NAT转换,将原样转发至私网客户端;

  • 私网客户端收到PASV响应命令后解析其内容,发送数据连接(源IP-192.168.12.2、目的IP-106.120.12.2、源端口-Y=31277、目的端口- Z=23076),经防火墙NAT转换后(源IP-106.120.22.2、目的IP-106.120.12.2、源端口-Y'=10009、目的端口Z=23076)发送至公网服务器,从而实现私网客户端访问公网服务器。

图2-2-(a) FTP被动模式穿越SNAT-Client

图2-2-(b) FTP被动模式穿越SNAT-Server

FTP协议被动模式穿越DNAT

被动模式穿越DNAT主要用于FTP服务器部署在私网,客户端需要通过DNAT转换访问服务器,如图3-1所示,描述了FTP被动模式穿越DNAT时的工作流程,此时需要借助ALG技术才可以完成穿越防火墙。

图3-1 FTP被动模式穿越DNAT流程图

防火墙设备上配置了私网地址192.168.12.2/TCP私网端口21到公网地址106.120.22.2/TCP公网端口2100的映射,实现IP地址的转换,以支持公网客户端对私网服务器的访问。组网中,若没有ALG对报文载荷的处理(图3-1中红色字体部分内容的变化),私网服务器发送的PASV响应报文到达公网客户端后,客户端无法根据私网地址进行路由,也就无法建立正确的数据连接。如图3-2-(a)和图3-2-(b)所示,整个通信过程包括以下几个阶段:

  • 公网客户端与私网服务器之间TCP的三次握手建立控制连接;

  • 公网客户端发送PASV命令,私网服务器响应PASV命令,携带私网服务器指定的用于数据连接的IP和PORT信息,被动地等待客户端来连接;

  • PASV响应命令到达防火墙时,报文载荷中的私网IP(192.168.12.2)和PORT(C=31920=124*256+176)会被转换成为公网IP(106.120.22.2)和PORT(C'=31920=124*256+176);

  • 公网客户端收到PASV响应命令后解析其内容,发送数据连接(源IP-106.120.12.2、目的IP-106.120.22.2、源端口-D=23366、目的端口-C'=31920),经防火墙NAT转换后(源IP-106.120.12.2、目的IP-192.168.12.2、源端口-D=23366、目的端口C =31920)发送至私网服务器,从而实现公网客户端访问私网服务器。

图3-2-(a) FTP被动模式穿越DNAT-Client

图3-2-(b) FTP被动模式穿越DNAT-Server

FTP协议主动模式穿越DNAT

主动模式穿越DNAT主要用于FTP服务器部署在私网,客户端需要通过DNAT转换访问服务器,如图4-1所示,描述了FTP主动模式穿越DNAT时的工作流程,此时不需要借助ALG技术也可以完成穿越防火墙的(为什么呢?请思考一下)。

图4-1 FTP主动模式穿越DNAT流程图

如图4-2-(a)和4-2-(b)所示,防火墙配置同“3.FTP协议被动模式穿越DNAT”章节所述,整个通信过程包括以下几个阶段:

  • 公网客户端与私网服务器之间TCP的三次握手建立控制连接;

  • 公网客户端发送PORT命令,携带公网客户端指定的用于数据连接的IP和PORT信息;

  • PORT命令到达防火墙时,报文载荷中的公网IP(106.120.12.2)和PORT(C=23360=91*256+64)不会进行NAT转换,将原样转发至私网服务器;

  • 私网服务器收到PORT命令后解析其内容,并主动向公网客户端发送数据连接(源IP-192.168.12.2、目的IP-106.120.12.2、源端口-20、目的端口-C=23360),经防火墙NAT转换后(源IP-106.120.22.2、目的IP-106.120.12.2、源端口-10011、目的端口-C=23360)发送至公网客户端,从而实现公网客户端访问私网服务器。

图4-2-(a) FTP主动模式穿越DNAT-Client

图4-2-(b) FTP主动模式穿越DNAT-Server

FTP协议穿越防火墙NAT小结

ALG应用在外部地址访问内部地址的场景下。ALG如果发现报文头部进行了NAT,并且进一步发现是一条FTP连接时,就需要对PORT/PASV命令中的IP和PORT进行转换。这样理解后总结上述几种场景可以得出如下结论:

  • 私网访问公网时需要防火墙进行SNAT,主动模式外部地址(Server)访问内部地址(Client)建立数据连接,因此需要ALG;而被动模式不涉及外部地址想访问内部地址的过程,故不需要ALG。

  • 公网访问私网时需要防火墙进行DNAT,被动模式外部地址(Client)访问内部地址(Server)建立数据连接,因此需要ALG;而主动模式不涉及外部地址想访问内部地址的过程,故不需要ALG。

  • 01_FTP主动模式穿越SNAT-Client.pcap

  • 02_FTP主动模式穿越SNAT-Server.pcap

  • 03_FTP被动模式穿越SNAT-Client.pcap

  • 04_FTP被动模式穿越SNAT-Server.pcap

  • 05_FTP被动模式穿越DNAT-Client.pcap

  • 06_FTP被动模式穿越DNAT-Server.pcap

  • 07_FTP主动模式穿越DNAT-Client.pcap

  • 08_FTP主动模式穿越DNAT-Server.pcap

→资料获取←

万花筒写轮眼之防火墙ALG技术之FTP协议穿墙术相关推荐

  1. 防火墙技术之---ALG技术

    NAT网络地址转换是以救世主的身份 出现缓解IPv4地址枯竭,实践证明NAT的很多的优点使其迅速被广泛应用,但是在实际操作中也出现了一些问题.NAT关注五元组信息,进行转换的五元组也仅限于IP报头之中 ...

  2. NAT ALG技术白皮书

    ALG技术白皮书 关键 摘要:ALG是一种对应用层进行处理的技术,它通过与NAT.ASPF等技术的组合应用,实现对应用层的处理和检测.本文详细介绍了ALG技术的工作机制以及典型组网应用. 缩略 缩略语 ...

  3. 用python画万花筒写轮眼_万花筒写轮眼画法教程

    很多喜欢动漫的朋友看过火影忍者,绘画吧觉得火影忍者里的写轮眼很酷,那么万花筒写轮眼怎么画?绘画吧学画画网给大家带来万花筒写轮眼画法教程,有兴趣的一起来学习今天的漫画教程吧. 说起火影忍者中的眼睛那么强 ...

  4. 万花筒写轮眼画法_万花筒写轮眼画法教程

    很多喜欢动漫的朋友看过火影忍者,露西觉得火影忍者里的写轮眼很酷,那么万花筒写轮眼怎么画?露西学画画网给大家带来万花筒写轮眼画法教程,有兴趣的一起来学习今天的漫画教程吧. 说起火影忍者中的眼睛那么强大的 ...

  5. 防火墙虚拟化技术详解(上)

    今天继续给大家介绍华为USG6000防火墙.本文主要介绍的是防火墙的虚拟化技术,从虚拟化技术应用和管理两个方面对虚拟化技术进行了详细阐述. 一.虚拟化技术概述 在华为系列防火墙中,存在两种虚拟化技术, ...

  6. 【总结】防火墙NAT技术

    防火墙NAT 防火墙NAT技术简介 防火墙NAT技术分类 源NAT,源地址转化的NAT. NO-PAT NAPT Easy_ip Smart_nat 三元组NAT 目的NAT:将目的地址做转化. NA ...

  7. 防火墙虚拟化技术详解(下)

    今天继续给大家介绍华为USG6000防火墙.本文主要介绍的是防火墙的虚拟化技术,从虚拟系统资源分配.虚拟系统的分流和互访以及虚拟系统与VPN实例三个方面对虚拟化技术进行了详细阐述. 阅读本文前,强烈建 ...

  8. 用Python中的Turtle库画万花筒写轮眼

    这几天又刷完了一遍火影,中二之魂一下子上来了,于是突发奇想,用python中的turtle画图库画一个宇智波一族的万花筒写轮眼. 本次用到的代码知识如下: import turtle #导入turtl ...

  9. Yeslab华为安全HCIE七门之--防火墙高级技术(17篇)

    Yeslab 全套华为安全HCIE七门之第三门 防火墙高级技术 课程目录: 华为安全HCIE-第三门-防火墙高级技术(17篇)\1_用户认证_用户_认证域_认证策略.avi 华为安全HCIE-第三门- ...

最新文章

  1. 机器学习圣杯:图灵奖得主Bengio和LeCun称自监督学习可使AI达到人类智力水平
  2. Android Parcelable和Serializable的区别
  3. STL里resize和reserve的区别?
  4. 设置第三方的SMTP服务
  5. 干货 | 数据挖掘过关40题
  6. 345. 反转字符串中的元音字母
  7. 会议交流 - CNCC 技术论坛 | NLP中知识和数据怎么选?当然是全都要!——第四届中文信息技术发展战略研讨会...
  8. mysql select语句执行顺序
  9. 软件测试基础课程学习笔记4--测试用例设计方法技巧
  10. Android SDK Manager配置
  11. 虚拟机搭建集群服务(1)——准备工作
  12. 数据库设计实例-教务管理系统
  13. 网卡MAC地址查询厂商
  14. cad 选择框不是矩形 解决方法
  15. 怎么解除极域课堂的控制
  16. 2020NPDP产品经理认证考试备考心得-郑沂
  17. 轻量级网络——MobileNet系列学习(理论篇)
  18. 武汉大学计算机电气,武汉大学电气与自动化学院
  19. 从校训、企业文化到团队文化
  20. 如何将多个文本文档合并到一个文档中?

热门文章

  1. python保存为.csv文件
  2. 菜鸟修炼笔记--QT--“QPaintDevice: Cannot destroy paint device that is being painted”
  3. 搭建 paparazzi uav 调试环境 ppz
  4. 免费申请极验GEETEST4.0行为验证账号
  5. java模拟摇摆小球程序代码_用java实现跳动的小球示例代码
  6. 40亿美元!张一鸣拿下字节版王者荣耀,过渡期给员工发奖金
  7. VIVO语音翻译的方法有哪些?2种方法都能进行翻译,不用真可惜
  8. 计算机网络教学的交互性,基于VR技术实现“计算机网络”课程的交互体验式教学...
  9. vue 请求拦截器配置
  10. Lable加载 类似QQ表情 (unicode emoji字符集)