知识屋:更实用的电脑技术知识网站
所在位置:首页 > 电脑知识 > IT百科

计算机端口的安全知识大全(一)

发布时间:2020-09-30 10:37作者:Tony

端口是计算机的大门,计算机的安全应该从端口开始说起。关于端口安全知识,我计划从六部分说起:端口的基础知识、端口的使用查看、端口的打开关闭、端口的转发和映射、由端口分析恶意攻击以及常用的端口安全工具。有人问了,为什么要分为六部分?下面Tony逐一向大家说明。

端口的基础知识

1、什么是端口

提到端口,你可能想到的是局域网的RJ45端口,USB端口、并行端口、串行端口等,对,你理解错了!这种是物理端口,也叫接口。这个内容不是本文讲的重点,本文讲的是下文的虚拟端口。

在Internet上,各主机间通过TCP/IP协议发送和接收数据包,各个数据包根据其目的主机的IP地址来进行互联网络中的路由选择,把数据包顺利传送到目的主机。大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据包传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。

本地操作系统会给那些有需求的进程分配协议端口,每个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据包后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。

举个例子:

电脑就好比你家的一栋超级大的房子,这个大房子每时每刻都有很多人进进出出:快递小哥、外卖、朋友造访、送特供菜的菜农……乱做一团,大家根本不知道该把东西给谁,于是你就出了个规定,给房子开了很多个门,然后规定每一个来的人要根据自己要办的事走不同的门进来,比如对外发邮件的统一走25号门,接收邮件的统一去110号门,访问WEB页面查询信息的统一走80号门,传送文件的走21号门等等。这个门就是我们说的虚拟端口,简称为端口。在电脑中一共有65536个(2^16)这样的端口,编号从0~65535。这些门有些门的作用是规定好了的,大部分是没有规定的。 很多程序都是有系统默认端口,我们在访问端口的时候,如果是系统默认的端口,比如我们访问http网页,不指定端口默认80端口;访问https网页,不指定端口默认443端口,访问http://www.baidu.com,而不用输入http://www.baidu.com:80。

2、常用的端口

端口有65536个,但是也有一些规律,其中0 到 1023 之间的端口,又叫公认端口(WellKnownPorts),这是系统保留的具有特定用途的,比如 ftp 的 21、ssh 的 22、http 的 80 等,但并不代表这些端口就是固定的,管理也可以将端口重定向。比如系统默认的HTTP服务是80端口,你也可以将其重新定向为别的,比如8080。 1024 到 65535 之间的端口,大家可以随意设置,不过一些知名度比较高的产品一般默认使用的端口别人也不会去占用,基本上就默认是他们专属的端口了,用的多的比如 mysql 的 3306、mssql 的 1433、oracle 的 1521 等。

当然一些木马也会有一些默认端口,比如说冰河默认的端口就是7626,NETBUS的默认端口是12345。另外,由于TCP和UDP两个协议是独立的,因此各自的端口号也相互独立,比如TCP有235端口,UDP也 可以有235端口,两者并不冲突。

常见端口:

一些常见端口对安全运维人员还是要熟记于心的,比如FTP:21,telnet:23,SMTP:25,DNS:53,http:80,POP3:110,NETBIOS:137-139,https:443,文件夹和打印机的共享服务:445,MS SQL:1433,oracle:1521,mysql:3306,远程桌面:3389 等等。

3、端口在安全中的作用

对于管理员和网络安全工作者来说,端口在攻防两端一个非常重要的概念。如果强盗想进入你的房子,必然会先找到你家的门,然后想办法破门而入。同样,入侵者通常会用扫描器对目标主机进行端口扫描,以确定开放的端口及其端口对应的服务程序,进而猜测可能存在的漏洞,比如开放了1433端口,猜测服务器上可能运行了mssql数据库,然后用常用的用户名字典(如sa)和常用的弱密码字典,尝试登录……所以称职的网络管理员,则要通过查看当前电脑的端口开放及连接情况,发现可疑连接和端口状态,从而及时发现异常情况,找到木马或者黑客的连接,当发现电脑上出现不认识的或者感觉异常的端口连接或者处于监听状态,就要分析一下对应的进程,确定是否中了病毒或者被黑客攻击。

端口的使用查看

1、查看端口的占用情况

-Windows平台-

使用命令netstat -an 不要问为什么使用-an,netstat参数这里就不介绍了…

第一列表示协议类型,分TCP和UDP两种; 第二、三列表示本地地址和端口、外部地址和端口。其中0.0.0.0表示本机所有可用的地址,如0.0.0.0:135表示本机所有ip地址的135端口;127.0.0.1表示本机ip地址,192.168.60.29表示当前网卡的IP地址,本地127.0.0.1一般用于本机进程间通信,网卡ip地址一般是与外界进行网络通信,这就好比一个叫张网安的人,小名叫狗剩,在家里家人都喊他狗剩,但是在外面别人叫他张网安,别人并不认识狗剩。[::]和[fe80::7ce8:c77b:334b:4153%10]又是什么鬼呢?这个是指本机的IPV6址;由于UDP是一个广播协议,不需要跟远端建立连接,所以并没有确定的地址和端口,所以所有UDP协议的外部连接都是*:*,*:*就表示任意地址和任意端口;

第四列表示端口当前的状态。LISTENING表示侦听来自远方的TCP端口的连接请求;SYN-SENT表示再发送连接请求后等待匹配的连接请求;SYN-RECEIVED表示再收到和发送一个连接请求后等待对方对连接请求的确认;ESTABLISHED代表一个打开的连接;FIN-WAIT-1表示等待远程TCP连接中断请求,或先前的连接中断请求的确认;FIN-WAIT-2表示从远程TCP等待连接中断请求;CLOSE-WAIT表示等待从本地用户发来的连接中断请求;CLOSING表示等待远程TCP对连接中断的确认;LAST-ACK表示等待原来的发向远程TCP的连接中断请求的确认;TIME-WAIT表示等待足够的时间以确保远程TCP接收到连接中断请求的确认;CLOSED表示没有任何连接状态。

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜