网络管理之端口详述篇

社区服务
高级搜索
猴岛论坛电脑百科网络管理之端口详述篇
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
0个回复

网络管理之端口详述篇

楼层直达
简.

ZxID:10955214

等级: 元老
配偶: 繁.
To Dearest WY

举报 只看楼主 使用道具 楼主   发表于: 2010-12-14 0
什么是端口
在Internet上,各主机之间通过TCP/TP协议发送和接收数据包,各个数据包根据其目的主机IP地址来进行互联网络中的路由选择。可见,把数据包顺利传到目的主机是没有问题的。问题出在哪里呢?我们知道,大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据包传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。
www.pcjsh.com
本地操作系统会给那些有需求的进程分配协议端口(Protocol Port),即常说的端口。每个协议端口由一个正整数标识,如80,139,445等。当目的主机接收到数据包后,将根据包文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。
在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。

那么TCP/IP协议中的端口指的是什么呢?如果把IP地址比作一间房子,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0到65535。

端口有什么用呢?我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP地址与网络服务的关系是一对多的关系。实际上是通过“IP地址 端口号”来区分不同的服务的。

需要注意的是,端口并不是一一对应的。比如你的电脑作为客户机访问一台WWW服务器时,WWW服务器使用“80”端口与你的电脑通信,但你的电脑则可能使用“3457”这样的端口,如图1所示。



  图1


按对应的协议类型,端口有两种:TCP端口和UDP端口。由于TCP和UDP两个协议是独立的,因此各自的端口号也相互独立,比如TCP有235端口,UDP也可以有235端口,两者并不冲突。

端口是怎样分配的

与IP地址一样,端口号也不是随意使用的,而是按照一定的规定进行分配。端口的分类标准有好几种,我们这里不做详细讲解,只介绍一下周知端口和动态端口。

1.周知端口(Well Known Ports)

周知端口是众所周知的端口号,范围从0到1023,其中80端口分配给WWW服务,21端口分配给FTP服务等。我们在IE的地址栏里输入一个网址的时候(比如www.***.com.cn)是不必指定端口号的,因为在默认情况下WWW服务的端口号是“80”。

网络服务是可以使用其他端口号的,如果不是默认的端口号则应该在地址栏上指定端口号,方法是在地址后面加上冒号“:”(半角),再加上端口号。比如使用“8080”作为WWW服务的端口,则需要在地址栏里输入“www.***.com.cn:8080”。

但是有些系统协议使用固定的端口号,它是不能被改变的,比如139端口专门用于NetBIOS与TCP/IP之间的通信,不能手动改变。

2.动态端口(Dynamic Ports)

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

怎样查看端口

一台服务器有大量的端口在使用,怎么来查看端口呢?有两种方式:一种是利用系统内置的命令,一种是利用第三方端口扫描软件。

1.用“netstat -an”查看端口状态

在Windows 2000/XP中,可以在命令提示符下使用“netstat -an”查看系统端口状态,可以列出系统正在开放的端口号及其状态,如图2所示。


  图2

2.用第三方端口扫描软件

第三方端口扫描软件有许多,界面虽然千差万别,但是功能却是类似的。这里以“Fport” 为例讲解。“Fport”在命令提示符下使用,运行结果与“netstat -an”相似,但是它不仅能够列出正在使用的端口号及类型,还可以列出端口被哪个应用程序使用,如图3所示。


  图3


怎样管理端口

黑客程序是通过系统的端口漏洞来入侵系统的,因此对端口的管理是网管工作的一个非常重要的方面。怎样来管理端口呢?可以采用两种方法:一种方法是利用系统内置的管理工具,另一种方法是利用第三方软件来实现。

1.用“TCP/IP筛选”管理端口

在Windows 2000 Server中,双击任务栏右下角的网络连接图标,再双击打开“本地连接状态”对话框,点击[属性]按钮,再选中“Internet协议(TCP/IP)”,然后点击[属性]按钮,在弹出的“Internet协议(TCP/IP)”对话框中点击[高级]按钮。在“高级TCP/IP 设置”中选择“选项”标签,选中“TCP/IP筛选”,然后点击[属性]按钮。在“TCP/IP筛选”对话框里选择“启用TCP/IP筛选”的复选框,然后把左边“TCP端口”上的“只允许”选上。增加你允许使用的端口,如“80”、“21”、“25”等(如图4所示),重新启动以后未经允许的端口就关闭了。 www.pcjsh.com感谢您的访问,请多多支持。


  图4


2.用第三方软件管理端口

管理端口最常用的第三方软件就是防火墙软件了。其实防火墙就是一整套制定好的IP地址及其端口的访问规则,你可以改变这些规则来打开和关闭指定的端口。


  图5

图5是瑞星个人防火墙的端口管理界面。如果你想关闭本机的TCP或UDP端口,在“操作”项中选择“禁止”,在“方向”中选择“双向”(如果只想禁止接收功能,则选择“接收”;只想禁止发送,则选择“发送”),在“协议”中选择“TCP”或“UDP”。

选择上述参数后,在“目的端口设置”中进行设置:如果只想关闭一个端口,就选择“一个端口”,然后在列表中输入端口号;如果想关闭一定范围内的连续端口,就在“起始端口号”输入起始端口,在“终止端口号”中输入终止端口;如果想关闭不连续的多个端口,就选择“端口列表”;而选择“任何端口”就是禁止所有端口。

千万注意:如果不理解参数的意思,切勿自行修改!否则可能会在系统中增加漏洞,或者导致系统无法进行正常通信。

本帖de评分: 1 条评分 DB +38
DB+38

优秀文章

不想成为什么样的人,只想好好活着。
« 返回列表
发帖 回复