购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 了解端口

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

端口是传输层的内容,是面向连接的,它们对应着网络上常见的一些服务。这些常见的服务可划分为使用TCP端口(面向连接,如打电话)和使用UDP端口(无连接,如写信)两种。

在网络中可以被命名和寻址的通信端口是一种可分配资源,由网络OSI(Open System Interconnection ReferenceModel,开放系统互联参考模型)协议可知,传输层与网络层的区别是传输层提供进程通信能力,网络通信的最终地址不仅包括主机地址,还包括可描述进程的某种标识。因此,当应用程序(调入内存运行后一般称为进程)通过系统调用与某端口建立连接(binding,绑定)之后,传输层传给该端口的数据都被相应进程所接收,相应进程发给传输层的数据都从该端口输出。

1.4.1 各类端口详解

逻辑意义上的端口有多种分类标准,常见的分类标准有如下两种。

1. 按端口号分布划分

按端口号分布划分可以分为“公认端口”“注册端口”及“动态和/或私有端口”等。服务器常见应用端口如右表所示。

(1)公认端口

公认端口包括端口号0~1023。它们紧密绑定于一些服务。通常这些端口的通信明确表明了某种服务的协议,如80端口分配给HTTP服务,21端口分配给FTP服务等。

(2)注册端口

注册端口包括端口号1024~49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其他目的,如许多系统处理动态端口从1024左右开始。

(3)动态和/或私有端口

动态和/或私有端口包括端口号49152~65535。理论上,不应为服务分配这些端口。但是一些木马和病毒就比较喜欢这样的端口,因为这些端口不易引起人们的注意,从而很容易屏蔽。

2. 按协议类型划分

根据所提供的服务方式,端口又可分为“TCP端口”和“UDP端口”两种。一般直接与接收方进行的连接方式,大多采用TCP协议。只是把信息放在网上发布出去而不去关心信息是否到达(也即“无连接方式”),则大多采用UDP协议。

使用TCP协议的常见端口主要有如下几种。

(1)Telnet协议端口

一种用于远程登录的端口,用户可以自己的身份远程连接到计算机上,通过这种端口可提供一种基于DOS模式的通信服务。如支持纯字符界面BBS的服务器会将23端口打开,以对外提供服务。

(2)SMTP协议端口

现在很多邮件服务器使用的都是这个简单的邮件传送协议来发送邮件。如常见免费邮件服务中使用的就是此邮件服务端口,所以在电子邮件设置中经常会看到有SMTP端口设置栏,服务器开放的是25号端口。

(3)FTP协议端口

定义了文件传输协议,使用21端口。某计算机开了FTP服务,便启动了文件传输服务,下载文件和上传主页都要用到FTP服务。

(4)POP3协议端口

POP3协议用于接收邮件,通常使用110端口。只要有相应使用POP3协议的程序(如Outlook等),就可以直接使用邮件程序收到邮件(如使用126邮箱的用户就没有必要先进入126网站,再进入自己的邮箱来收信了)。

使用UDP协议的常见端口主要有如下几种。

(1)HTTP协议端口

这是用户使用的最多的协议,也即“超文本传输协议”。当上网浏览网页时,就要在提供网页资源的计算机上打开80号端口以提供服务。通常的“WWW服务”“Web服务器”等使用的就是这个端口。

(2)DNS协议端口

DNS用于域名解析服务,这种服务在Windows NT系统中用得最多。Internet上的每一台计算机都有一个网络地址与之对应,这个地址就是IP地址,它以纯数字形式表示。但由于这种表示方法不便于记忆,于是就出现了域名,访问计算机时只需要知道域名即可,域名和IP地址之间的变换由DNS服务器来完成,DNS用的是53号端口。

(3)SNMP协议端口

简单网络管理协议,用来管理网络设备,使用161号端口。

(4)QQ协议端口

QQ程序既提供服务又接收服务,使用无连接协议,即UDP协议。QQ服务器使用8000号端口侦听是否有信息到来,客户端使用4000号端口向外发送信息。

1.4.2 查看端口

如果需要查找目标主机上都开放了哪些端口,可以使用某些扫描工具对目标主机一定范围内的端口进行扫描。只有掌握目标主机上的端口开放情况,才能进一步对目标主机进行攻击。

在Windows系统中,可以使用Netstat命令查看端口。在“命令提示符”窗口中运行“netstat -a -n”命令,即可看到以数字形式显示的TCP和UDP连接的端口号及其状态,具体步骤如下。

操作1 单击“开始”按钮

在弹出的“开始”菜单中单击“运行”按钮。

操作2 输入“cmd”命令

在文本框中输入“cmd”命令。

单击“确定”按钮。

操作3 输入“netstat -a -n”命令

打开命令提示符窗口后输入“netstat -a -n”命令。

查看TCP和UDP连接的端口号及其状态。

如果攻击者使用扫描工具对目标主机进行扫描,即可获取目标计算机打开的端口情况,并了解目标计算机提供了哪些服务。根据这些信息,攻击者即可对目标主机有一个初步了解。

如果在管理员不知情的情况下打开了太多端口,则可能出现两种情况:一种是提供了服务管理者没有注意到。例如,安装IIS服务时,软件就会自动增加很多服务;另一种是服务器被攻击者植入了木马程序,通过特殊的端口进行通信。这两种情况都比较危险,管理员不了解服务器提供的服务,就会减小系统的安全系数。

通过这些方法可以轻松地发现基于TCP/UDP协议的木马。但是,对木马重在防范,而且如果碰上反弹端口木马,利用驱动程序及动态链接库技术制作的新木马时,以上这些方法就很难查出木马的痕迹了。所以,我们一定要养成良好的上网习惯,不要随意运行邮件中的附件,安装一套杀毒软件。从网上下载的软件先用杀毒软件检查一遍再使用,在上网时打开网络防火墙和病毒实时监控,保护自己的机器不被木马入侵。

1.4.3 开启和关闭端口

一般情况下,Windows有很多端口是开放的,在你上网的时候,网络病毒和黑客可以通过这些端口连上你的计算机。

为了让你的系统变为铜墙铁壁,应该封闭这些端口,主要有:TCP 135、139、445、593、1025端口和UDP 135、137、138、445端口,一些流行病毒的后门端口(如TCP 2745、3127、6129端口),以及远程服务访问端口3389。下面介绍如何在Windows 7系统下开启关闭这些网络端口。

1. 开启端口

在Windows 7系统中开启端口的具体操作步骤如下。

操作1 单击“开始”按钮

单击“开始”按钮。

在开始菜单中单击“控制面板”按钮。

操作2 打开控制面板窗口

将查看方式切换为“大图标”。

然后双击“管理工具”选项。

操作3 打开管理工具窗口

双击“服务”选项。

操作4 打开“服务”窗口

查看多种服务项目。

操作5 启动服务

选定要启动的服务后,右键单击该服务,在弹出的列表中单击“属性”选项。

操作6 启动类型设置

在“启动类型”下拉列表中选择“自动”选项,然后单击“启动”按钮。

启动成功后,单击“确定”按钮。

操作7 查看已启动的服务

可以看到该服务在状态一栏已标记为“已启动”,启动类型为“自动”。

2. 关闭端口

在Windows 7系统中关闭端口的具体操作步骤如下。

操作1 打开“服务”窗口

查看多种服务项目。

操作2 关闭服务

选定要关闭的服务,右击该服务,在弹出的列表中单击“属性”选项。

操作3 启动类型设置

在“启动类型”下拉列表中选择“禁用”选项,然后单击“停止”按钮。

服务停止后单击“确定”按钮。

操作4 查看已停止的服务

可以看到该服务启动类型已标记为“禁用”,状态栏也不再标记“已启动”。

1.4.4 端口的限制

经常看到关于安全的书籍上会说不要开放多余的端口,那么,如何限制端口呢?

实际上,端口限制的方法有两种。

其一,通过应用程序来处理。例如,启动Apache之类的Web服务程序的时候,(如果没有特别的设置)会打开Well known ports中的80号端口,然后通过80号端口开始等待通信。

所以,如果关闭了服务端应用程序,端口也会自动被关闭。不要开放多余的端口,也就是不要启动多余的应用程序。

其二,限制通信。代表性的方法就是过滤数据包。通过过滤数据包,可以实现关闭特定端口的通信,特定IP的通信。

Linux中的iptables命令就可以过滤数据包。通过iptables命令,可以详细地指定拦截何种通信,所以可以实现拦截某个主机的特定端口。

调查哪个端口是打开的?可以使用netstat,lsof,nmap等命令。在此我们只大概介绍一下这几个命令所能实现的功能。

通过netstat和lsof可以知道本机上打开了哪些端口。

通过nmap可以知道其他主机上打开了哪些端口。

过滤数据包的时候,需要注意的是通过netstat和lsof命令来看,有时候端口是空闲的。

具体设置的操作步骤如下。

操作1 打开“管理工具”窗口

单击“开始”—“管理工具”—“本地安全策略”。

操作2 创建IP安全策略

右击“IP安全策略在本地计算机”选项,在弹出的列表中单击“创建IP安全策略”单选项。

操作3 I P安全策略向导

输入名称及描述信息。

单击“下一步”按钮。

操作4 输入安全策略名称

输入名称及描述信息。

单击“下一步”按钮。

操作5 安全通信请求

取消勾选“激活默认响应规则”复选框。

单击“下一步”按钮。

操作6 完成IP安全策略的创建

取消勾选“编辑属性”复选框。

单击“完成”按钮。

操作7 管理IP筛选器列表和筛选器操作

右击“IP安全策略,在本地计算机”选项,在弹出的列表中单击“管理IP筛选器列表和筛选器操作”选项。

操作8 进入“管理IP筛选器列表”选项卡

单击“添加”按钮。

操作9 添加指定名称的筛选器

输入筛选器名称及描述。

单击“添加”按钮。

操作10 IP筛选器向导

单击“下一步”按钮。

操作11 IP筛选器描述和镜像属性

在文本框中输入描述信息。

单击“下一步”按钮。

操作12 选择源地址

在下拉列表中选择IP流量的源地址。

单击“下一步”按钮。

操作13 选择目标地址

在下拉列表中选择IP流量的目标地址。

单击“下一步”按钮。

操作14 选择IP协议类型

在下拉列表中选择IP协议类型为“TCP”。

单击“下一步”按钮。

操作15 选择IP协议端口

选中“从任意端口”“到此端口”单选项,此端口端口号设置为1106。

单击“下一步”按钮。

操作16 完成IP筛选器的创建

取消勾选“编辑属性”复选框。

单击“完成”按钮。

操作17 返回“IP筛选器”列表对话框

查看已创建的筛选器,并单击“确定”按钮。

操作18 管理筛选器操作

切换至“管理筛选器操作”选项卡。

取消勾选“使用‘添加向导’”复选框。

单击“添加”按钮。

操作19 设置筛选器操作为阻止

选择“阻止”单选项。

单击“确定”按钮。

操作20 成功添加筛选器

查看已添加的筛选器操作。

单击“关闭”按钮。

操作21 返回“本地安全策略”窗口

双击创建的IP安全策略。

操作22 添加IP规则

单击“添加”按钮。

操作23 创建IP安全规则

单击“下一步”按钮。

操作24 指定IP安全规则的隧道终结点

选中“此规则不指定隧道”单选项。

单击“下一步”按钮。

操作25 选择网络类型

选中“所有网络连接”单选项。

单击“下一步”按钮。

操作26 选择IP筛选器

选中“3389”端口筛选器”单选项。

单击“下一步”按钮。

操作27 选择筛选器操作

选中“新IP筛选器列表”单选项。

单击“下一步”按钮。

操作28 完成安全规则创建

取消勾选“编辑属性”复选框。

单击“下一步”按钮。

操作29 返回“限制访问3389端口属性”对话框

单击“确定”按钮。

操作30 返回“本地安全策略”对话框

右击新建的IP安全策略,在弹出列表中单击“分配”单选项,完成设置。 6+i9M7ttr2p07vlqUm26EUsbjnIlXbwayfu2PPG5fSmV+cLadL7KtfZJPnyCHoY2

点击中间区域
呼出菜单
上一章
目录
下一章
×