计算机“端口”可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。
本文向你讲述端口的基础常识及常用端口设置方法与技巧。
一、端口基础 1.面向连接和无连接协议
面向连接服务要经过三个阶段。即数据传数前,先建立连接,连接建立后再传输数据,数据传送完后,释放连接。面向连接服务,可确保数据传送的次序和传输的可靠性。
无连接服务只有传输数据阶段。消除了除数据通信外的其他开销。只要发送实体是活跃的,无须接收实体也是活跃的。它的优点是灵活方便、迅速,特别适合于传送少量零星的报文,但无连接服务不能防止报文的丢失、重复或失序。
区分“面向连接服务”和“无连接服务”的概念,特别简单、形象的例子是:打电话和写信。两个人如果要通电话,必须先建立连接——拨号,等待应答后才能相互传递信息,最后还要释放连接——挂电话。写信就没有那么复杂了,地址姓名填好以后直接往邮筒一扔,收信人就能收到。TCP/IP协议在网络层是无连接的(数据包只管往网上发,如何传输和到达以及是否到达由网络设备来管理)。而“端口”,是传输层的内容,是面向连接的。协议里面低于1024的端口都有确切的定义,它们对应着因特网上常见的一些服务。这些常见的服务可以划分为使用TCP端口(面向连接如打电话)和使用UDP端口(无连接如写信)两种。
网络中可以被命名和寻址的通信端口是操作系统的一种可分配资源。由网络OSI(Open System Interconnection Reference Model,开放系统互联参考模型)七层协议可知,传输层与网络层最大的区别是传输层提供进程通信能力,网络通信的最终地址不仅包括主机地址,还包括可描述进程的某种标识。所以TCP/IP协议提出的协议端口,可以认为是网络通信进程的一种标识符。
应用程序(调入内存运行后一般称为进程)通过系统调用与某端口建立连接(binding,绑定)后,传输层传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都从该端口输出。在TCP/IP协议的实现中,端口操作类似于一般的I/O操作,进程获取一个端口,相当于获取本地唯一的I/O文件,可以用一般的读写方式访问。
类似于文件描述符,每个端口都拥有一个叫端口号的整数描述符,用来区别不同的端口。由于TCP/IP传输层的TCP和UDP两个协议是两个完全独立的软件模块,因此各自的端口号也相互独立。如TCP有一个255号端口,UDP也可以有一个255号端口,两者并不冲突。
2.端口号的基本分配方式
端口号有两种基本分配方式:
(1)全局分配:这是一种集中分配方式,由一个公认权威的机构根据用户需要进行统一分配,并将结果公布于众。
(2)本地分配:又称动态连接,即进程需要访问传输层服务时,向本地操作系统提出申请,操作系统返回本地唯一的端口号,进程再通过合适的系统调用,将自己和该端口连接起来。
TCP/IP端口号的分配综合了以上两种方式,将端口号分为两部分,少量的作为保留端口,以全局方式分配给服务进程。每一个标准服务器都拥有一个全局公认的端口,即使在不同的机器上,其端口号也相同。剩余的为自由端口,以本地方式进行分配。TCP和UDP规定,小于256的端口才能作为保留端口。
3.端口分类
按端口号可分为3大类:
(1)公认端口(Well Known Ports):从0到1023,它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如,80端口实际上总是HTTP通讯。
(2)注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其他目的。例如,许多系统处理动态端口从1024左右开始。
(3)动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。
4.端口“重定向”
系统管理员可以“重定向”端口。
一种常见的技术是把一个端口重定向到另一个地址。例如默认的HTTP端口是80,不少人将它重定向到另一个端口,如8080。
实现重定向是为了隐藏公认的默认端口,降低受破坏率。这样如果有人要对一个公认的默认端口进行攻击则必须先进行端口扫描。大多数端口重定向与原端口有相似之处,例如多数HTTP端口由80变化而来,如81、88、8000、8080、8888。同样POP的端口原来在110,也常被重定向到1100。也有不少情况是选取统计上有特别意义的数,如1234、23456、34567等。许多人有其他原因选择奇怪的数,42、69、666、31337。近来,越来越多的远程控制木马采用相同的默认端口。如NetBus的默认端口是12345。Blake R. Swopes指出使用重定向端口还有一个原因,在UNIX系统上,如果你想侦听1024以下的端口需要有root权限。如果你没有root权限而又想开启Web服务,你就需要将其安装在较高的端口。此外,一些ISP的防火墙将阻挡低端口的通讯,这样的话即使你拥有整个机器你还是得重定向端口。
二、常用端口对照详解
下表列出TCP/UDP端口扫描在防火墙记录中的信息。
端口
服 务
说 明
0
Reserved
通常用于分析操作系统
1
tcpmux
显示有人在寻找SGI Irix计算机。默认情况下,tcpmux在Irix系统中被打开。Irix计算机在寻找是否包含有默认的无密码的账户,如,IP、GUEST
UUCP、NUUCP、DEMOS 、TUTOR、DIAG、OUTOFBOX等。许多管理员在安装后忘记删除这些账户。因此,攻击者在网络上搜索tcpmux并利用这些账户
7
Echo
搜索Fraggle放大器时,发送到X.X.X.0和X.X.X.255的信息
19
Character Generator
一种仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连接时会发送含有垃圾字符的数据流直到连接关闭。攻击者利用IP欺骗可以发动DoS攻击。伪造两个chargen服务器之间的UDP包。同样Fraggle
DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而拦载
21
FTP
FTP服务器开放该端口,用于上传、下载。攻击者用于寻找打开Anonymous的FTP服务器的方法。这些服务器带有可读写的目录。木马Doly
Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口
22
SSH`
PCAnywhere建立的TCP和该端口的连接可能是为了寻找SSH。如果将该服务配置成为特定的模式,许多使用RSAREF库的版本就会有不少的漏洞存在
23
Telnet
远程登录,攻击者在搜索远程登录UNIX的服务。大多数情况下扫描这一端口是为了找到计算机所运行的操作系统。还有使用其他技术,入侵者也会找到密码。木马Tiny
Telnet Server开放该端口
25
SMTP
SMTP服务器所开放的端口,用于发送邮件。攻击者寻找SMTP服务器是为了传递他们的SPAM。入侵者的账户被关闭,他们需要连接到E-mail服务器上,将简单的信息传递到不同的地址。木马Antigen、Email
Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放该端口
31
MSG Authentication
木马Master Paradise、Hackers Paradise开放该端口
42
WINS Replication
WINS复制
53
Domain Name Server(DNS)
DNS服务器所开放的端口,攻击者可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其他的通信。因此防火墙常常过滤或记录此端口
67
Bootstrap Protocol Server
通过ADSL的防火墙常会看见大量发送到广播地址255.255.255.255的数据。这些计算机在向DHCP服务器请求一个地址。攻击者常进入它们,分配一个地址,把自己作为局部路由器而发起大量中间人攻击。客户端向68端口广播请求配置,服务器向67端口广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的IP地址
69
Trival File Transfer
许多服务器与Bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常由于错误配置而使攻击者能从系统中窃取任何文件
79
Finger Server
攻击者用该服务获取用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从自己机器到其他机器Finger扫描
80
HTTP
用于网页浏览。木马Executor开放该端口
88
-
Kerberos krb5。另外TCP的88端口也是这个用途
99
Metagram Relay
后门程序ncx99开放此端口
102
Message transfer agent(MTA)-X.400 over TCP/IP
消息传输代理
109
POP3
POP3服务器开放此端口,用于接收邮件,客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交换缓冲区溢出的弱点至少有20个,这意味着攻击者可以在真正登陆前进入系统。成功登陆后还有其他缓冲区溢出错误
110
SUN公司的RPC服务所有端口
常见RPC服务有rpc.mountd、NFS、rpc.statd、rpc.csmd、rpc.ttybd、amd等
113
Authentication Service
是一个在许多计算机上运行的协议,用于鉴别TCP连接的用户。使用这种服务可以获得许多计算机的信息。但是它可作为服务的记录器,尤其是FTP、POP、IMAP、SMTP和IRC等服务。如果有客户通过防火墙访问这些服务,将会看到该端口的连接请求。如果关闭该端口,客户端会感觉到在防火墙另一边与E-mail服务器连接缓慢。许多防火墙支持TCP连接在阻断过程中发回RST。这将会停止缓慢的连接
119
Network News Transfer Protocol
NEWS新闻组传输协议。这个端口的连接通常是人们在寻找USENET服务器。多数ISP限制,只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送SPAM
135
Location Service
微软在该端口运行DCE RPC end-point mapper为它的DCOM服务。这与UNIX 111端口的功能相似。使用DCOM和RPC的服务利用计算机上的end-point
mapper注册它们的位置。远端客户连接到计算机时,它们查找end-point mapper找到服务的位置。攻击者扫描计算机的这个端口是为了找到这个计算机上运行Exchange
Server吗?什么版本?还有些DoS攻击直接针对这个端口
137、138、139
NETBIOS Name Service
其中137、138是UDP端口,当通过网上邻居传输文件时用这个端口。而139端口则是用于获得NetBIOS/SMB服务。这个协议被用于Windows文件和打印机共享和SAMBA。还有WINS
Regisrtation也用它
137
-
其他协议名称查找上的SQL命名管道加密技术、其他协议名称查找上的SQL RPC加密技术、WINS NetBT名称服务和Wins
Proxy都用这个端口
143
IMAP2
和POP3的安全问题一样,许多IMAP服务器存在有缓冲区溢出漏洞
161
SNMP
SNMP允许远程管理设备。所有配置和运行信息储存在数据库中,通过SNMP可获得这些信息。管理员的错误配置将被暴露在Internet。攻击者将试图使用默认的密码访问系统。他们可能会试验所有可能的组合。SNMP包可能会被错误的指向用户的网络
161
-
简单网络管理协议
162
-
SNMP陷阱
177
X Display Manager Control Protocol
许多入侵者通过它访问X-windows控制台,它同时需要打开6000端口
389
LDAP、ILS
轻型目录访问协议和NetMeeting Internet Locator Server共用这一端口
443
Https
网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP
445
-
公共Internet文件系统
456
NULL
木马HACKERS PARADISE开放此端口
464
-
Kerberos kpasswd(v5)。另外TCP的464端口也是这个用途
500
-
Internet Key Exchange(IKE)(Internet密钥交换)
513
Login,remote login
是从使用ADSL登陆到子网中的UNIX计算机发出的广播。这些人为入侵者进入他们的系统提供了信息
553
CORBA IIOP (UDP)
使用ADSL或VLAN将会看到这个端口的广播。CORBA是一种面向对象的RPC系统。入侵者可以利用这些信息进入系统
555
DSF
木马PhAse1.0、Stealth Spy、IniKiller开放此端口
568
Membership DPA
成员资格DPA
569
Membership MSN
成员资格MSN
635
mountd
Linux的mountd Bug。这是扫描的一个流行BUG。大多数对这个端口的扫描是基于UDP的,但是基于TCP的mountd有所增加(mountd同时运行于两个端口)。记住mountd可运行于任何端口,只是Linux默认端口是635,就像NFS通常运行于2049端口
636
LDAP
SSL,Secure Sockets layer。安全套接层
666
Doom Id Software
木马Attack FTP、Satanz Backdoor开放此端口
993
IMAP
SSL,Secure Sockets layer。安全套接层
1001、1011
NULL
木马Silencer、WebEx开放1001端口。木马Doly Trojan开放1011端口
1024
Reserved
它是动态端口的开始,许多程序并不在乎用哪个端口连接网络,它们请求系统为它们分配下一个闲置端口。基于这一点分配从端口1024开始。这就是说第一个向系统发出请求的会分配到1024端口。你可以重启机器,打开Telnet,再打开一个窗口运行natstat
-a 将会看到Telnet被分配1024端口。还有SQL session也用此端口和5000端口
1080
SOCKS
这一协议以通道方式穿过防火墙,允许防火墙后的人通过一个IP地址访问Internet。理论上它应该只允许内部的通信向外到达Internet。但是由于错误的配置,它会允许位于防火墙外部的攻击穿过防火墙。WinGate常会发生这种错误,在加入IRC聊天室时常会看到这种情况
1170
NULL
木马Streaming Audio Trojan、Psyber Stream Server、Voice开放此端口
1234、1243、6711、6776
NULL
木马SubSeven2.0、Ultors Trojan开放1234、6776端口。木马SubSeven1.0/1.9开放1243、6711、6776端口
1245
NULL
木马Vodoo开放此端口
1433
SQL
SQL服务开放的端口
1492
stone-design-1
木马FTP99CMP开放此端口
1500
RPC client fixed port session queries
RPC客户固定端口会话查询
1503
NetMeeting T.120
NetMeeting T.120
1524
ingress
许多攻击脚本将安装一个后门SHELL于这个端口,尤其是针对SUN系统中Sendmail和RPC服务漏洞的脚本。如果刚安装了防火墙就看到在这个端口上的连接企图,很可能是上述原因。可以试试Telnet到用户的计算机上的这个端口,看看它是否会给你一个SHELL。连接到600/pcserver也存在这个问题
1600
issd
木马Shivka-Burka开放此端口
1645、1812
-
远程认证拨号用户服务
1646、1813
-
RADIUS记账(路由和远程访问)
1701
-
第2层隧道协议
1720
NetMeeting
NetMeeting H.233 call Setup
1731
NetMeeting Audio Call Control
NetMeeting音频调用控制
1801、3527
-
Microsoft消息队列服务器。还有TCP的135、1801、2101、2103、2105也是同样的用途
1807
NULL
木马SpySender开放此端口
1981
NULL
木马ShockRave开放此端口
1999
cisco identification port
木马BackDoor开放此端口
2000
NULL
木马GirlFriend 1.3、Millenium 1.0开放此端口
2001
NULL
木马Millenium 1.0、Trojan Cow开放此端口
2023
xinuexpansion 4
木马Pass Ripper开放此端口
2049
NFS
NFS程序常运行于这个端口。通常需要访问Portmapper查询这个服务运行于哪个端口
2115
NULL
木马Bugs开放此端口
2140、3150
NULL
木马Deep Throat 1.0/3.0开放此端口
2500
RPC client using a fixed port session replication
应用固定端口会话复制的RPC客户
2504
-
网络平衡负荷
2583
NULL
木马Wincrash 2.0开放此端口
2801
NULL
木马Phineas Phucker开放此端口
3024、4092
NULL
木马WinCrash开放此端口
3128
squid
这是squid HTTP代理服务器的默认端口。攻击者扫描这个端口是为了搜寻一个代理服务器而匿名访问Internet。也会看到搜索其他代理服务器的端口8000、8001、8080、8888。扫描这个端口的另一个原因是用户正在进入聊天室。其他用户也会检验这个端口以确定用户的机器是否支持代理
3129
NULL
木马Master Paradise开放此端口
3150
NULL
木马The Invasor开放此端口
3210、4321
NULL
木马SchoolBus开放此端口
3333
dec-notes
木马Prosiak开放此端口
3389
超级终端
Windows 2000终端开放此端口
3700
NULL]
木马Portal of Doom开放此端口
3996、4060
NULL
木马RemoteAnything开放此端口
4000
QQ客户端
腾讯QQ客户端开放此端口
4092
NULL
木马WinCrash开放此端口
4590
NULL
木马ICQTrojan开放此端口
5000、5001、5321、50505
NULL
木马blazer5开放5000端口。木马Sockets de Troie开放5000、5001、5321、50505端口
5400、5401、5402
NULL
木马Blade Runner开放此端口
5550
NULL
木马xtcp开放此端口
5569
NULL
木马Robo-Hack开放此端口
5632
PCAnywere
有时会看到很多这个端口的扫描,这依赖于用户所在的位置。当用户打开PCAnywere时,它会自动扫描局域网C类网以寻找可能的代理。攻击者也会寻找开放这种服务的计算机。所以应该查看这种扫描的源地址。一些搜寻PCAnywere的扫描包常含端口22的UDP数据包
5742
NULL
木马WinCrash1.03开放此端口
6267
NULL
木马广外女生开放此端口
6400
NULL
木马The tHing开放此端口
6670、6671
NULL
木马Deep Throat开放6670端口。而Deep Throat 3.0开放6671端口
6883
NULL
木马DeltaSource开放此端口
6969
NULL
木马Gatecrasher、Priority开放此端口
6970
RealAudio
RealAudio客户将从服务器的6970-7170的UDP端口接收音频数据流。这是由TCP-7070端口外向控制连接设置的
7000
NULL
木马Remote Grab开放此端口
7300、7301、7306、7307、7308
NULL
木马NetMonitor开放此端口。另外NetSpy1.0也开放7306端口
7323
NULL
SyGate服务器端
7626
NULL
木马Giscier开放此端口
7789
NULL
木马ICKiller开放此端口
8000
OICQ
腾讯QQ服务器端开放此端口
8010
WinGate
WinGate代理开放此端口
8080
代理端口
WWW代理开放此端口
9400、9401、9402
NULL
木马Incommand 1.0开放此端口
9872、9873、9874、9875、10067、10167
NULL
木马Portal of Doom开放此端口
9989
NULL
木马iNi-Killer开放此端口
11000
NULL
木马SennaSpy开放此端口
11223
NULL
木马Progenic trojan开放此端口
12076、61466
NULL
木马Telecommando开放此端口
12223
NULL
木马Hack'99 KeyLogger开放此端口
12345、12346
NULL
木马NetBus1.60/1.70、GabanBus开放此端口
12361
NULL
木马Whack-a-mole开放此端口
13223
PowWow
PowWow是Tribal Voice的聊天程序。它允许用户在此端口打开私人聊天的连接。该程序对于建立连接非常具有攻击性。它会常驻在TCP端口等待回应。如果一个拨号用户从另一个聊天者手中继承了IP地址就会发生好象有很多不同的人在测试这个端口的情况。这一协议使用OPNG作为其连接请求的前4个字节
16969
NULL
木马Priority开放此端口
17027
Conducent
这是一个外向连接,是由于公司内部有人安装了带有Conducent"adbot"的共享软件。Conducent"adbot"是为共享软件显示广告服务的。使用这种服务的一种流行的软件是Pkware
19191
NULL
木马蓝色火焰开放此端口
20000、20001
NULL
木马Millennium开放此端口
20034
NULL
木马NetBus Pro开放此端口
21554
NULL
木马GirlFriend开放此端口
22222
NULL
木马Prosiak开放此端口
23456
NULL
木马Evil FTP、Ugly FTP开放此端口
26274、47262
NULL
木马Delta开放此端口
27374
NULL
木马Subseven 2.1开放此端口
30100
NULL
木马NetSphere开放此端口
30303
NULL
木马Socket23开放此端口
30999
NULL
木马Kuang开放此端口
31337、31338
NULL
木马BO(Back Orifice)开放此端口。另外木马DeepBO也开放31338端口
31339
NULL
木马NetSpy DK开放此端口
31666
NULL
木马BOWhack开放此端口
33333
NULL
木马Prosiak开放此端口
34324
NULL
木马Tiny Telnet Server、BigGluck、TN开放此端口
40412
NULL
木马The Spy开放此端口
40421、40422、40423、40426
NULL
木马Masters Paradise开放此端口
43210、54321
NULL
木马SchoolBus 1.0/2.0开放此端口
44445
NULL
木马Happypig开放此端口
50766
NULL
木马Fore开放此端口
53001
NULL
木马Remote Windows Shutdown开放此端口
65000
NULL
木马Devil 1.03开放此端口
爱卖艺