当前位置: 首页 > news >正文

防火墙和端口,防火墙的功能和作用

目录

防火墙和端口

四、网络端口的分类:

(1)公认端口(Well-KnownPorts):范围从0到1023

(2)动态端口(Dynamic Ports):范围从1024到65535

防火墙的功能和作用


防火墙和端口

一、什么是端口? 

由于每种网络的服务功能都不相同,因此有必要将不同的封包送给不同的服务来处理,所以啰,当你的主机同时开启了 FTP 与 WWW 服务的时候,那么别人送来的资料封包,就会依照 TCP 上面的 port 号码来给 FTP 这个服务或者是 WWW 这个服务来处理,当然就不会搞乱啰!(注:嘿嘿!有些很少接触到网络的朋友,常常会问说:『咦!为什么你的计算机同时有 FTP、WWW、E-Mail 这么多服务,但是人家传资料过来,你的计算机怎么知道如何判断?计算机真的都不会误判吗?!』现在知道为什么了吗?!对啦!就是因为 port 不同嘛!你可以这样想啦,有一天,你要去银行存钱,那个银行就可以想成是『主机』,然后,银行当然不可能只有一种业务,里头就有相当多的窗口,那么你一进大门的时候,在门口的服务人员就会问你说:『嗨!你好呀!你要做些什么事?』你跟他说:『我要存钱呀!』,服务员接着就会告诉你:『喝!那么请前往三号窗口!那边的人员会帮您服务!』这个时候你总该不会往其它的窗口跑吧?! ""这些窗口就可以想成是『 port 』啰!所以啦!每一种服务都有特定的 port 在监听!您无须担心计算机会误判的问题呦!) 

· 每一个 TCP 联机都必须由一端(通常为 client )发起请求这个 port 通常是随机选择大于 1024 以上的 port 号来进行!其 TCP 封包会将(且只将) SYN 旗标设定起来!这是整个联机的第一个封包; 

· 如果另一端(通常为 Server ) 接受这个请求的话(当然啰,特殊的服务需要以特殊的 port 来进行,例如 FTP 的 port 21 ),则会向请求端送回整个联机的第二个封包!其上除了 SYN 旗标之外同时还将 ACK 旗标也设定起来,并同时时在本机端建立资源以待联机之需; 

· 然后,请求端获得服务端第一个响应封包之后,必须再响应对方一个确认封包,此时封包只带 ACK 旗标(事实上,后继联机中的所有封包都必须带有 ACK 旗标); 

· 只有当服务端收到请求端的确认( ACK )封包(也就是整个联机的第三个封包)之后,两端的联机才能正式建立。这就是所谓的 TCP 联机的'三段式交握( Three-Way Handshake )'的原理。 

经过三向交握之后,呵呵!你的 client 端的 port 通常是高于 1024 的随机取得的 port 至于主机端则视当时的服务是开启哪一个 port 而定,例如 WWW 选择 80 而 FTP 则以 21 为正常的联机信道! 

总而言之,我们这里所说的端口,不是计算机硬件的I/O端口,而是软件形式上的概念.工具提供服务类型的不同,端口分为两种,一种是TCP端口,一种是UDP端口。计算机之间相互通信的时候,分为

两种方式:一种是发送信息以后,可以确认信息是否到达,也就是有应答的方式,这种方式大多采用TCP协议;

一种是发送以后就不管了,不去确认信息是否到达,这种方式大多采用UDP协议。对应这两种协议的服务提供的端口,也就分为TCP端口和UDP端口。 

那么,如果攻击者使用软件扫描目标计算机,得到目标计算机打开的端口,也就了解了目标计算机提供了那些服务。我们都知道,提供服务就一定有服务软件的漏洞,根据这些,攻击者可以达到对目标计算机的初步了解。如果计算机的端口打开太多,而管理者不知道,那么,有两种情况:一种是提供了服务而管理者没有注意,比如安装IIS的时候,软件就会自动增加很多服务,而管理员可能没有注意到;一种是服务器被攻击者安装木马,通过特殊的端口进行通信。这两种情况都是很危险的,说到底,就是管理员不了解服务器提供的服务,减小了系统安全系数。 

二、端口号范围:1~65535

三、端口概念
在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。

我们这里将要介绍的就是逻辑意义上的端口。我们这里所说的端口,不是计算机硬件的I/O端口,而是软件形式上的概念.工具提供服务类型的不同,端口分为两种,一种是TCP端口,一种是UDP端口。计算机之间相互通信的时候,分为两种方式:一种是发送信息以后,可以确认信息是否到达,也就是有应答的方式,这种方式大多采用TCP协议;一种是发送以后就不管了,不去确认信息是否到达,这种方式大多采用UDP协议。对应这两种协议的服务提供的端口,也就分为TCP端口和UDP端口。 

查看端口:可以看到以数字形式显示的TCP和UDP连接的端口号及状态。

四、网络端口的分类:

按端口号可分为3大类:


(1)公认端口(Well-KnownPorts):范围从0到1023

它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。

我们在IE的地址栏里输入一个网址的时候( 比如www.cce.com.cn)是不必指定端口号的,因为在默认情况下WWW服务的端口 号是“80”。 
网络服务是可以使用其他端口号的,如果不是默认的端口号则应该在 地址栏上指定端口号,方法是在地址后面加上冒号“:”(半角),再加上端口 号。比如使用“8080”作为WWW服务的端口,则需要在地址栏里输入“www.cce.com.cn:8080”。 
但是有些系统协议使用固定的端口号,它是不能被改变的,比如139 端口专门用于NetBIOS与TCP/IP之间的通信,不能手动改变。 

(2)动态端口(Dynamic Ports):范围从1024到65535


之所以称为动态端口,是因为它 一般不固定分配某种服务,而是动态分配。动态分配是指当一个系统进程或应用 程序进程需要网络通信时,它向主机申请一个端口,主机从可用的端口号中分配 一个供它使用。当这个进程关闭时,同时也就释放了所占用的端口号。

    (2.1)注册端口(RegisteredPorts):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用         于许多其它目的。例如:许多系统处理动态端口从1024左右开始。

    (2.2)动态和/或私有端口(Dynamicand/orPrivatePorts):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024    起分配动态端口。但也有例外:SUN的RPC端口从32768开始。

       动态端口映射

       内网中的一台电脑要访问一个网站,会向NAT网关发送数据包,包头中包括对方(就是目标官网)IP、端口和本机IP、端口,NAT网关会把本机IP、端口替换成自己的公网IP、一个未使用的端口,并且会记下这个映射关系,为以后转发数据包使用。然后再把数据发给花生壳官网,花生壳官网收到数据后做出反应,发送数据到NAT网关的那个未使用的端口,然后NAT网关将数据转发给内网中的那台电脑,实现内网和公网的通讯.当连接关闭时,NAT网关会释放分配给这条连接的端口,以便以后的连接可以继续使用。动态端口映射其实也就是NAT网关的工作方式

        静态端口映射

        就是在NAT网关上开放一个固定的端口,然后设定此端口收到的数据要转发给内网哪个I和端口,不管有没有连接,这个映射关系都会一直存在。就可以让公网主动访问内网的一个电脑。

防火墙的功能和作用

  1. 设置内网和外网
  2. 控制端口的开放
  3. 控制端口的单独进或者出数据
  4. ip过滤,控制哪些ip端可以访问
  5. 控制访问的频率
  6. 控制访问时间段
  7. 控制访问者的上传或者下载流量

相关文章:

  • JavaScript HTML DOM
  • Vue 前端
  • vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序
  • Vue 2 教程菜鸟
  • 后台常见错误
  • vueDemo Hbuild教程
  • 买了域名如何配置解析,域名解析
  • Nginx简介入门
  • springboot加载templates下html
  • SpringBoot 1-19
  • debug时找不到包的应用进程
  • SpringBoot 20-29
  • SpringBoot开发网站
  • SpringBoot的前后端分离--下拉数据
  • 前端常见错误
  • [PHP内核探索]PHP中的哈希表
  • hexo+github搭建个人博客
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • 78. Subsets
  • angular2 简述
  • docker-consul
  • Docker下部署自己的LNMP工作环境
  • ECMAScript6(0):ES6简明参考手册
  • ECS应用管理最佳实践
  • If…else
  • KMP算法及优化
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Redash本地开发环境搭建
  • SpingCloudBus整合RabbitMQ
  • 百度地图API标注+时间轴组件
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 写给高年级小学生看的《Bash 指南》
  • ionic入门之数据绑定显示-1
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 树莓派用上kodexplorer也能玩成私有网盘
  • 正则表达式-基础知识Review
  • 组复制官方翻译九、Group Replication Technical Details
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • $.ajax()参数及用法
  • (7)STL算法之交换赋值
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (二)JAVA使用POI操作excel
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (力扣题库)跳跃游戏II(c++)
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (一)Java算法:二分查找
  • (转载)从 Java 代码到 Java 堆
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .NET Windows:删除文件夹后立即判断,有可能依然存在