只要内网中的用户想访问外网,那么就会用到端口映射。(若一个用户一个公网IP,那太奢侈了)
端口映射分为两类:动态、静态
动态映射:
假设,用户A要访问站点B,网关是C,那么用户A会向网关C发送访问B的请求,即用户A向C发送一个包,里面有A的内网IP地址,端口,还有目的地址B的IP,端口。
网关C这时候就会将A的IP地址与端口映射成自己的IP和一个未使用的端口上;然后,C用自己的公网地址去访问B;接着,B根据C的访问请求,回复相应的内容到C的IP地址以及相应端口上。最后,网关C根据A和自己IP、端口的映射关系,将内容回复给A;就这样,内网地址A就能和外网站点B通信了。若这时候,用户A关闭电脑了,那么就断开了和C的联系,网关C就会释放这条和A的映射关系,方便其他的用户使用。
一般,内网主机都是动态映射。内网的服务器才会做静态映射。
静态映射:
实际上,静态映射就是将网关B的某一个端口固定开放,固定的联系到内网某一个主机的IP和端口。这样,公网上的其他用户就可以随时随地的通过公网访问到B的这个端口,根据这个端口往内网中的映射关系,访问到相应的主机。这个主机一般都是服务器,开放自己指定的端口给别人访问。不管这个服务器有没有关机,反正网关B中的这个映射关系一直指向这个地址。
NAT网关不一定就是路由器,还可以是交换机和正常主机。
计算机端口知识补充:
如果将计算机比作是一个房子,那么端口就相当于这个房子的门。同理,一个房子不可能只有一个门,那么一个计算机也就不会只有一个端口。在房子中打开不同的门就能进入不同的房间,看到不同的景色。同理,以计算机的不同端口进入,就会联系到不同的进程。
公认端口:0-1023
这部分端口是大家公认的提供某些服务的端口,比如,http是80端口,ftp是21端口,telnet是23端口等等。
自定义端口:1024-65535
用户可以自己定义这些端口的作用。比如绑定计算机上的某个服务。将原来公认的某个服务端口关闭,然后重定向到这部分的某个端口上,那么隐蔽性就提高了不少。
注意:一个端口只连接一个进程。端口也分类型,TCP80端口就不会和UDP80端口产生歧义,这二者不冲突。而且,我们通常说的80端口是指TCP的80端口。
端口和入侵的联系:
通过扫描端口,看开放了哪些端口,可以大致推断出主机开放了哪些服务,根据这些服务,可以猜测主机存在哪些漏洞。这是攻击者的思维。而作为防护者,我们适当的关闭一些端口,或者将一些端口重定向,可以规避一定的风险。
windows下查看开放端口的命令:netstat -an
常见的非法入侵方式:
1.通过扫描端口,判断主机的系统,开放哪些服务,根据已知的信息找出相关的漏洞以及入侵方法,实现入侵。
2.通过一定的手段,让用户中木马,利用木马后门实现入侵。由于木马是一种进程,所以必然和端口相关联。
3.通过数据溢出的手段,迫使主机提供后门
4.利用软件的一些漏洞,直接或间接的控制主机。
前两种方法是新手黑客和普通黑客以及一些黑客工具常用的伎俩,后门两种方法是高级黑客会用的方法。
如何防范?
只保留主机常用的端口,对于那些闲置的端口,基本不用的端口,全部关闭即可。若想知道更深的知识,需要再搜集关于安全方面的端口知识。