在Internet上,各主机间通过TCP/TP协议发送和接收数据报,各个数据报根据其目的主机的ip地址来进行互联网络中的路由选择。可见,把数据报顺利的传送到目的主机是没有问题的。问题出在哪里呢?我们知道大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据报传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。
什么是端口
本地操作系统会给那些有需求的进程分配协议端口(protocal port,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据报后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。说到这里,端口的概念似乎仍然抽象,那么继续跟我来,别走开。
端口其实就是队,操作系统为各个进程分配了不同的队,数据报按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。
不光接受数据报的进程需要开启它自己的端口,发送数据报的进程也需要开启端口,这样,数据报中将会标识有源端口,以便接受方能顺利的回传数据报到这个端口。
端口分类
在Internet上,按照协议类型分类,端口被分为TCP端口和UDP端口两类,虽然他们都用正整数标识,但这并不会引起歧义,比如TCP的80端口和UDP的80端口,因为数据报在标明端口的同时,还将标明端口的类型。
从端口的分配来看,端口被分为固定端口和动态端口两大类(一些教程还将极少被用到的高端口划分为第三类:私有端口):
固定端口(0-1023):
使用集中式管理机制,即服从一个管理机构对端口的指派,这个机构负责发布这些指派。由于这些端口紧绑于一些服务,所以我们会经常扫描这些端口来判断对方是否开启了这些服务,如TCP的21(ftp),80(http),139(netbios),UDP的7(echo),69(tftp)等等一些大家熟知的端口;
动态端口(1024-49151):
这些端口并不被固定的捆绑于某一服务,操作系统将这些端口动态的分配给各个进程,同一进程两次分配有可能分配到不同的端口。不过一些应用程序并不愿意使用操作系统分配的动态端口,他们有其自己的‘商标性’端口,如oicq客户端的4000端口,木马冰河的7626端口等都是固定而出名的。
端口0
服务Reserved
说明通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果。一种典型的扫描,使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。
端口1
服务tcpmux
说明这显示有人在寻找SGI Irix机器。Irix是实现tcpmux的主要提供者,默认情况下tcpmux在这种系统中被打开。Irix机器在发布是含有几个默认的无密码的帐户,如:IP、GUEST UUCP、NUUCP、DEMOS 、TUTOR、DIAG、OUTOFBOX等。许多管理员在安装后忘记删除这些帐户。因此HACKER在INTERNET上搜索tcpmux并利用这些帐户。
端口7
服务Echo
说明能看到许多人搜索Fraggle放大器时,发送到X.X.X.0和X.X.X.255的信息。
端口19
服务Character Generator
说明这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连接时会发送含有垃圾字符的数据流直到连接关闭。HACKER利用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
说明通过DSL和Cable modem的防火墙常会看见大量发送到广播地址255.255.255.255的数据。这些机器在向DHCP服务器请求一个地址。HACKER常进入它们,分配一个地址把自己作为局部路由器而发起大量中间人(man-in-middle)攻击。客户端向68端口广播请求配置,服务器向67端口广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的IP地址。
端口69
服务Trival File Transfer
说明许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常由于错误配置而使入侵者能从系统中窃取任何 文件。它们也可用于系统写入文件。
端口79
服务Finger Server
说明入侵者用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从自己机器到其他机器Finger扫描。
端口80
服务HTTP
说明用于网页浏览。木马Executor开放此端口。
端口99
服务Metagram Relay
说明后门程序ncx99开放此端口。
端口102
服务Message transfer agent(MTA)-X.400 over TCP/IP
说明消息传输代理。
端口109
服务Post Office Protocol -Version3
说明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通信。这龆丝诘牧油ǔJ侨嗣窃谘罢襏SENET服务器。多数ISP限制,只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送SPAM。
端口135
服务Location Service
说明Microsoft在这个端口运行DCE RPC end-point mapper为它的DCOM服务。这与UNIX 111端口的功能很相似。使用DCOM和RPC的服务利用计算机上的end-point mapper注册它们的位置。远端客户连接到计算机时,它们查找end-point mapper找到服务的位置。HACKER扫描计算机的这个端口是为了找到这个计算机上运行Exchange Server吗?什么版本?还有些DOS攻击直接针对这个端口。
端口137、138、139
服务NETBIOS Name Service
说明其中137、138是UDP端口,当通过网上邻居传输文件时用这个端口。而139
端口通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于windows文件和打印机共享和SAMBA。还有WINS Regisrtation也用它。
端口143
服务Interim Mail Access Protocol v2
说明和POP3的安全问题一样,许多IMAP服务器存在有缓冲区溢出漏洞。记住:一种LINUX蠕虫(admv0rm)会通过这个端口繁殖,因此许多这个端口的扫描来自不知情的已经被感染的用户。当REDHAT在他们的LINUX发布版本中默认允许IMAP后,这些漏洞变的很流行。这一端口还被用于IMAP2,但并不流行。
端口161
服务SNMP
说明SNMP允许远程管理设备。所有配置和运行信息的储存在数据库中,通过SNMP可获得这些信息。许多管理员的错误配置将被暴露在Internet。Cackers将试图使用默认的密码public、private访问系统。他们可能会试验所有可能的组合。SNMP包可能会被错误的指向用户的网络。
端口177
服务X Display Manager Control Protocol
说明许多入侵者通过它访问X-windows操作台,它同时需要打开6000端口。
端口389
服务LDAP、ILS
说明轻型目录访问协议和NetMeeting Internet Locator Server共用这一端口。
端口443
服务Https
说明网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP。
端口456
服务[NULL]
说明木马HACKERS PARADISE开放此端口。
端口513
服务Login,remote login
说明是从使用cable modem或DSL登陆到子网中的UNIX计算机发出的广播。这些人为入侵者进入他们的系统提供了信息。
端口544
服务[NULL]
说明kerberos kshell
端口548
服务Macintosh,File Services(AFP/IP)
说明Macintosh,文件服务。
端口553
服务CORBA IIOP (UDP)
说明使用cable modem、DSL或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可运行于任何端口(到底是哪个端口,需要在端口111做portmap查询),只是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端口。
端口1025、1033
服务1025:network blackjack 1033:[NULL]
说明木马netspy开放这2个端口。
端口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
说明Microsoft的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开放此端口。
端口1720
服务NetMeeting
说明NetMeeting H.233 call Setup。
端口1731
服务NetMeeting Audio Call Control
说明NetMeeting音频调用控制。
端口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客户
端口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 roie开放5000、5001、5321、50505端口。
端口5400、5401、5402
服务[NULL]
说明木马Blade unner开放此端口。
端口5550
服务[NULL]
说明木马xtcp开放此端口。
端口5569
服务[NULL]
说明木马Robo-Hack开放此端口。
端口5632
服务pcAnywere
说明有时会看到很多这个端口的扫描,这依赖于用户所在的位置。当用户打开pcAnywere时,它会自动扫描局域网C类网以寻找可能的代理(这里的代理是指agent而不是proxy)。入侵者也会寻找开放这种服务的计算机。,所以应该查看这种扫描的源地址。一些搜寻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]
说明木马Hack99 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开放此端口。
端口88
说明Kerberos krb5。另外TCP的88端口也是这个用途。
端口137
说明SQL Named Pipes encryption over other protocols name lookup(其他协议名称查找上的SQL命名管道加密技术)和SQL RPC encryption over other protocols name lookup(其他协议名称查找上的SQL RPC加密技术)和Wins NetBT name service(WINS NetBT名称服务)和Wins Proxy都用这个端口。
端口161
说明Simple Network Management Protocol(SMTP)(简单网络管理协议)
端口162
说明SNMP Trap(SNMP陷阱)
端口445
说明Common Internet File System(CIFS)(公共Internet文件系统)
端口464
说明Kerberos kpasswd(v5)。另外TCP的464端口也是这个用途。
端口500
说明Internet Key Exchange(IKE)(Internet密钥交换)
端口1645、1812
说明Remot Authentication Dial-In User Service(RADIUS)authentication(Routing and Remote Access)(远程认证拨号用户服务)
端口1646、1813
说明RADIUS accounting(Routing and Remote Access)(RADIUS记帐(路由和远程访问))
端口1701
说明Layer Two Tunneling Protocol(L2TP)(第2层隧道协议)
端口1801、3527
说明Microsoft Message Queue Server(Microsoft消息队列服务器)。还有TCP的135、1801、2101、2103、2105也是同样的用途。
端口2504
说明Network Load Balancing(网络平衡负荷)