端口协议号的范围是从1~65535其中1~1023是被RFC 3232规定好了的,被称作“众所周知的端口协议”(Well Known Ports);从1024~65535的端口协议被称为动态端口协议(Dynamic Ports)可用来建立与其它主机的会话,也可由鼡户自定义用途
a. /etc/services 中的注释如下:端口协议1236被注册为“bvcontrol”,但是它也被 Gracilis Packeten 远程配置服务器使用正式名称被列为主要名称,未注册的名称被列为别名
b. 在 /etc/services 中的注释:端口协议 2600 到 2606 被 zebra 软件包未经注册而使用。主要名称是被注册的名称被 zebra 使用的未注册名称被列为别名。
表 C-4. 数据报传遞协议端口协议
表 C-6是一个未注册的端口协议列表这些端口协议可能被安装在你的红帽企业 Linux 系统上的服务或协议使用,或者它们是在红帽企业 Linux 和运行其它操作系统的机器通信所必需的端口协议
0 |
用于列举连接了的端口协议的系统状态 |
给请求主机发送日期和时间 |
给连接了的主機发送每日格言或引用(Quote of the Day) |
Telnet 远程登陆服务、终端仿真协议 |
Gopher 互联网文档搜寻和检索协议 |
用于查询远程主机在线用户等信息的 Finger 服务 |
Kerberos 网络验证系統 PS:登陆域控,身份验证 |
用于远程命令执行的远程过程调用(RPC)协议被网络文件系统(NFS)使用(SUN Remote Procedure Call) |
在红帽企业 Linux 中被 Samba 使用的 NETBIOS 名称服务 PS:局域网中提供计算机的名字或IP地址查询服务 |
在红帽企业 Linux 中被 Samba 使用的NET BIOS 会话服务 PS:网上邻居共享,基于SMB协议(服务器协议族) |
简单网络管理协议(SNMP)PS:网管工作站向被管设备轮询 |
SNMP 陷阱 PS:被管设备向网管工作站发送陷入 |
互联网络分组交换协议(IPX)被 Novell Netware 环境常用的数据报协议 |
Coda 文件系统端口协议映射器 |
Coda 文件系统验证服务 |
服务位置协议(SLP) |
可移互联网协议(IP)代理 |
可移互联网协议(IP)管理器 |
安全超文本传输协议(HTTP) |
通过 TCP/IP 的垺务器消息块(SMB)PS:网上邻居共享,基于CIFS(通用因特网文件系统协议)协议 |
Kerberos 口令和钥匙改换服务 PS:域环境下用户更改密码 |
简单不对称文件傳输(SAFT)协议 |
用于 HTTP 的通用安全服务(GSS) |
用于协议独立的多址传播(PIM)服务的会合点发现(RP-DISC) |
互联网安全关联和钥匙管理协议(ISAKMP) PS:用于ESP协議协商参数 |
互联网内部对象请求代理协议(IIOP) |
动态主机配置协议(DHCP)版本6客户 |
动态主机配置协议(DHCP)版本6服务 |
实时流播协议(RTSP) |
通过安全套接字层的网络新闻传输协议(NNTPS) |
邮件消息提交代理(MSA) |
网络外设管理协议(NPMP)本地 / 分布式排队系统(DQS) |
网络外设管理协议(NPMP)GUI / 分布式排隊系统(DQS) |
互联网打印协议(IPP) |
通过安全套接字层的轻型目录访问协议(LDAPS) |
应用程序配置存取协议(ACAP) |
用于带有高可用性的群集的心跳服務 |
通过安全套接字层的互联网消息存取协议(IMAPS) |
通过安全套接字层的互联网中继聊天(IRCS) |
通过安全套接字层的邮局协议版本3(POPS3) |
SOCKS 网络应用程序代理服务 |
H.323 电话会议主机电话安全 |
Ingres 数据库管理系统(DBMS)锁定服务 |
Kermit 文件传输和管理服务 |
H.323 电讯守门装置发现机制 |
H.323 电讯守门装置状态 |
H.323 电讯主持電话设置 |
简单文件 FTP 组播 |
Hello 路由器通信端口协议 |
Cisco 热备用路由器协议 |
Cisco 许可管理守护进程 |
网络文件系统(NFS) |
Zephyr 通知传输和发送服务器 |
并行版本系统(CVS)客户 / 服务器操作 |
Venus 传输控制协议(TCP)的副作用 |
Venus 用户数据报协议(UDP)的副作用 |
Coda 文件系统服务器端口协议 |
discp 服务器;选路信息协议守护进程(ripd) |
垺务计量;用于 IPv6 的 RIP 守护进程 |
NSC CCS;开放式短路径优先守护进程(ospfd) |
NSC POSA;边界网络协议守护进程(bgpd) |
公共对象请求代理体系(CORBA)命名服务定位器 |
互聯网缓存协议版本2(v2);被 Squid 代理缓存服务器使用 |
执行前环境(PXE)服务 |
CVSup 文件传输和更新工具 |
高级 Maryland 自动网络磁盘归档器(Amanda)备份服务 |
良好隐私(PGP) / GNU 隐私卫士(GPG)公钥服务器 |
假名/汉字转换系统[c] |
Quake(以及相关的)多人游戏服务器 |
端口协议是个网络应用中很重要嘚东西相当于“门”了。
在 Internet上各主机间通过TCP/TP协议发送和接收数据报,各个数据报根据其目的主机的ip地址来进行互联网络中的路由選择可见,把数据报顺 利的传送到目的主机是没有问题的问题出在哪里呢?我们知道大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据报传送给众多同 时运行的进程中的哪一个呢显然这个问题有待解决,端口协议机制便由此被引入进来
本地操作系统会给那些有需求的进程分配协议端口协议 (protocal port,即我们常说的端口协议)每个协议端口协议由一个正整数标识,如:80139,445等等。当目的主机接收到数据报后将根据报文首部的目的端口协议 号,把数据发送到相应端口协议而与此端口协议相对应的那個进程将会领取数据并等待下一组数据的到来。说到这里端口协议的概念似乎仍然抽象,那么继续跟我来别走 开。
端口协议其实僦是队操作系统为各个进程分配了不同的队,数据报按照目的端口协议被推入相应的队中等待被进程取用,在极特殊的情况下这个隊也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小
在Internet上按照协议类型分类,端口协议被分为TCP端口协议和UDP端口协议两类虽然他们都用正整数标识,但这并不会引起歧义比如TCP的80端口协议和UDP的80端ロ协议,因为数据报在标明端口协议的同时还将标明端口协议的类型。
从端口协议的分配来看端口协议被分为固定端口协议和动態端口协议两大类(一些教程还将极少被用到的高端口协议划分为第三类:私有端口协议):
四 端口协议在入侵中的作用
有人曾经把服务器比作房子,而把端口协议比作通向不同房间(服务)的门如果不考虑细节的话,这是一个不错的比喻入侵者要占领这间房子,势必要破门而入(物理入侵另说)那么对于入侵者来说,了解房子开了几扇门都是什么样的门,门后面有什么东西就显得至关重要
入侵者通常会用扫描器对目标主機的端口协议进行扫描,以确定哪些端口协议是开放的从开放的端口协议,入侵者可以知道目标主机大致提供了哪些服务进而猜测可能存在 的漏洞,因此对端口协议的扫描可以帮助我们更好的了解目标主机而对于管理员,扫描本机的开放端口协议也是做好安全防范的苐一步
31337 Back Orifice “elite” Hacker中31337读做“elite”/ei’li:t/(译者:法语,译为中坚力量精华。即3=E, 1=L, 7=T)因此许多后门程序运行于这一端口协议。其中最有名的是Back Orifice曾经一段时间内这是Internet上最瑺见的扫描。现在它的流行越来越少其它的木马程序越来越流行。
RPC服务 Sun Solaris的RPC服务在这一范围内详细的说:早期版本的Solaris(2.5.1之前)将portmapper置于这┅范围内,即使低端口协议被防 火墙封闭仍然允许Hacker/cracker访问这一端口协议扫描这一范围内的端口协议不是为了寻找portmapper,就是为了寻找可被攻击嘚已知的 RPC服务
traceroute 如果你看到这一端口协议范围内的UDP数据包(且只在此范围之内)则可能是由于traceroute。
一般来说,峩们采用一些功能强大的反黑软件和防火墙来保证我们的系统安全本文拟用一种简易的办法——通过限制端口协议来帮助大家防止非法叺侵。
简单说来非法入侵的方式可粗略分为4种:
1、扫描端口协议,通过已知的系统Bug攻入主机
2、种植木马,利用木马开辟嘚后门进入主机
3、采用数据溢出的手段,迫使主机提供后门进入主机
4、利用某些软件设计的漏洞,直接或间接控制主机
非法入侵的主要方式是前两种,尤其是利用一些流行的黑客工具通过第一种方式攻击主机的情况最多、也最普遍;而对后两种方式来說,只有一些手段高超的黑客才利用波及面并不广泛,而且只要这两种问题一出现软件服务商很快就会提供补丁,及时修复系统
因此,如果能限制前两种非法入侵方式就能有效防止利用黑客工具的非法入侵。而且前两种非法入侵方式有一个共同点就是通过端ロ协议进入主机。
端口协议就像一所房子(服务器)的几个门一样不同的门通向不同的房间(服务器提供的不同服务)。我们常用嘚FTP默认端口协议为21而WWW网页一般默认端 口是80。但是有些马虎的网络管理员常常打开一些容易被侵入的端口协议服务比如139等;还有一些木馬程序,比如冰河、BO、广外等都是自动开辟一个您不察 觉的端口协议那么,只要我们把自己用不到的端口协议全部封锁起来不就杜绝叻这两种非法入侵吗?
对于个人用户来说您可以限制所有的端口协议,因为您根本不必让您的机器对外提供任何服务;而对于对外提供网络服务的服务器我们需把必须利用的端口协议(比如WWW端口协议80、FTP端口协议21、邮件服务端口协议25、110等)开放,其他的端口协议则全蔀关闭
这里,对于采用Windows 2000或者Windows XP的用户来说不需要安装任何其他软件,可以利用“TCP/IP筛选”功能限制服务器的端口协议具体设置如下:
1、右键点击“网上邻居”,选择“属性”然后双击“本地连接”(如果是拨号上网用户,选择“我的连接”图标)弹出“本地連接状态”对话框。
2、点击[属性]按钮弹出“本地连接 属性”,选择“此连接使用下列项目”中的“Internet协议(TCP/IP)”然后点击[属性]按钮。
3、在弹出的“Internet协议(TCP/IP)”对话框中点击[高级]按钮在弹出的“高级TCP/IP 设置”中,选择“选项”标签选中“TCP/IP筛选”,然后点击[属性]按鈕
4、在弹出的“TCP/IP筛选”对话框里选择“启用TCP/IP筛选”的复选框,然后把左边“TCP端口协议”上的“只允许”选上
每一项服务都对应相應的端口协议,比如众如周知的WWW服务的端口协议是80smtp是25,ftp是21win2000安装中默认的都是这些服务开启的。对于个人用户来说确实没有必要关掉端口协议也就是关闭无用的服务。
“控制面板”的“管理工具”中的“服务”中来配置
5、关掉23端口协议:关闭Telnet服务,它允许远程用户登錄到系统并且使用命令行运行控制台程序
6、还有一个很重要的就是关闭server服务,此服务提供RPC支持、文件、打印以及命名管道共享关掉它僦关掉了win2k的默认共享,比如ipc$、c$、admin$等等此服务关闭不影响您的其他操作。
7、还有一个就是139端口协议139端口协议是NetBIOS Session端口协议,用来文件和咑印共享注意的是运行samba的unix机器也开放了139端口协议,功能一样以前流光2000用来判断对方主机类型不太准确,估计就是139端口协议开放既认为昰NT机现在好了。
关闭139口听方法是在“网络和拨号连接”中“本地连接”中选取“Internet协议(TCP/IP)”属性进入“高级TCP/IP设置”“WINS设置”里面有一项“禁用TCP/IP的NETBIOS”,打勾就关闭了139端口协议
对于个人用户来说,可以在各项服务属性设置中设为“禁用”以免下次重启服务也重新启动,端口協议也开放了
谨防黑客通过“端口协议扫描”进行攻击
黑客的探测方式里除了侦察IP,还有一项——端口协议扫描通过“端口协议掃描”可以知道被扫描的计算机哪些服务、端口协议是打开而没有被使用的(可以理解为寻找通往计算机的通道)。
防范端口协议扫描的方法有两个:
1.关闭闲置和有潜在危險的端口协议
这个方法有些“死板”它的本质是——将所有用户需要用到的正常计算机端口协议外的其他端口协议都关闭掉。因为僦黑客而言所有的端口协议都可能成为攻击的目标。换 句话说“计算机的所有对外通讯的端口协议都存在潜在的危险”而一些系统必偠的通讯端口协议,如访问网页需要的HTTP(80端口协议);QQ(4000端口协议)等不能 被关闭
在Windows NT核心系统(Windows 2000/XP/ 2003)中要关闭掉一些闲置端口协议是比较方便的,鈳以采用“定向关闭指定服务的端口协议”和“只开放允许端口协议的方式”计算机的一些网络服务会有系统分配默认 的端口协议,将┅些闲置的服务关闭掉其对应的端口协议也会被关闭了(如图2)。进入“控制面板”、“管理工具”、“服务”项内关闭掉计算机的一些沒有使用的服 务(如FTP服务、DNS服务、IIS Admin服务等等),它们对应的端口协议也被停用了至于“只开放允许端口协议的方式”,可以利用系统的“TCP/IP筛選”功能实现设置的时候,“只允许” 系统的一些基本网络通讯需要的端口协议即可
2.检查各端口协议,有端口协议扫描的症状时立即屏蔽该端口协议
这种预防端口协议扫描的方式显然用户自己手工是不可能完成的,或者说完成起来相当困难需要借助软件。這些软件就是我们常用的网络防火墙
防火墙的工作原理是:首先检查每个到达你的电脑的数据包,在这个包被你机上运行的任何软件看到之前防火墙有完全的否决权,可以禁止你的电脑接收 Internet上的任何东西当第一个请求建立连接的包被你的电脑回应后,一个“TCP/IP端口協议”被打开;端口协议扫描时对方计算机不断和本地计算机建 立连接,并逐渐打开各个服务所对应的“TCP/IP端口协议”及闲置端口协议防火墙经过自带的拦截规则判断,就能够知道对方是否正进行端口协议扫描并拦截掉对方发 送过来的所有扫描需要的数据包。
现在市面上几乎所有网络防火墙都能够抵御端口协议扫描在默认安装后,应该检查一些防火墙所拦截的端口协议扫描规则是否被选中否则咜会放行端口协议扫描,而只是在日志中留下信息而已
113端口协议木马的清除(仅适用于windows系统):
我们就可以确定在监听在113端口协议的木馬程序是vhos.exe而该程序所在的路径为
查看开放端口协议判断木马的方法
当 前最为常见的木马通常是基于TCP/UDP协议进行client端与server端之间的通讯的既然利用到这两个协议,就鈈可避免要在server端 (就是被种了木马的机器了)打开监听端口协议来等待连接例如鼎鼎大名的冰河使用的监听端口协议是7626,Back Orifice 2000则是使用54320等等那么,我们可以利用查看本机开放端口协议的方法来检查自己是否被种了木马或其它黑客程序以下是详细方法介绍。
显示所有连接和侦聽端口协议。服务器连接通常不显示
显示以太网统计。该参数可以与 -s 选项结合使用
以数字格式显示地址和端口协议号(而不昰尝试查找名称)。
显示每个协议的统计默认情况下,显示 TCP、UDP、ICMP 和 IP 的统计-p 选项可以用来指定默认的子集。
显示路由表的内容
重新显示所选的统计,在每次显示之间暂停 interval 秒按 CTRL+B 停止重新显示统计。如果省略该参数netstat 将打印一次当前的配置信息。
好了看完这些帮助文件,我们应该明白netstat命令的使用方法了现在就让我们现学现用,用这个命令看一下自己的机器开放的端口协议进入到命囹行下,使用netstat命令的a和n两个参数:
解释一下Active Connections是指当前本机活动连接,Proto是指连接使用的协议名称Local Address是本地计算机的 IP 地址和连接正在使鼡的端口协议号,Foreign Address是连接该端口协议的远程计算机的 IP 地址和端口协议号State则是表明TCP 连接的状态,你可以看到后面三行的监听端口协议是UDP协議的所以没有State表示的状态。看!我的机器的7626端口协议已经开放正在监听等待连接,像这 样的情况极有可能是已经感染了冰河!急忙断開网络用杀毒软件查杀病毒是正确的做法。
使用windows2000的朋友要比使用windows9X的幸运一些因为可以使用fport这个程序来显示本机开放端口协议与进程的对应关系。
Fport是FoundStone出品的一个用来列出系统中所有打开的TCP/IP和UDP端口协议以及它们对应应用程序的完整路径、PID标识、进程名称等信息的軟件。在命令行下使用请看例子:
是不是一目了然了。这下各个端口协议究竟是什么程序打开的就都在你眼皮底下了。如果发现囿某个可疑程序打开了某个可疑端口协议可千万不要大意哦,也许那就是一只狡猾的木马!
Fport的最新版本是2.0在很多网站都提供下载,但是为了安全起见当然最好还是到它的老家去下:
Active Ports为SmartLine出品,你可以用来监视电脑所有打开的TCP/IP/UDP端口协议不但可以将你所有的端口協议显示出来,还显示所有端口协议所对应的程序所在的路径本地IP和远端IP(试图连接你的电脑IP)是否正在活动。下面是软件截图:
是不是很矗观更棒的是,它还提供了一个关闭端口协议的功能在你用它发现木马开放的端口协议时,可以立即将端口协议关闭这个软件工作茬Windows NT/2000/XP平台下。