1. 什么是端口列举知名服务所采用的端口
计算机"端口"是英文port的义译,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口
又称接口, 如:USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通
信协议端口,是一种抽 象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。
可以先了解面向连接和无连接协议(Connection-Oriented and Connectionless Protocols)
面向连接服务的主要特点有:面向连接服务要经过三个阶段:数据传数前,先建立连接,连接建立
后再传输数 据,数据传送完后,释放连接。面向连接服务,可确保数据传送的次序和传输的可靠性。
无连接服务的特点是:无连接服务只有传输数据阶段。消除了除数据通信外的其它开销。只要发送
实体是活跃 的,无须接收实体也是活跃的。它的优点是灵活方便、迅速,特别适合于传送少量零星的报
文,但无连接服务不能 防止报文的丢失、重复或失序。
区分"面向连接服务"和"无连接服务"的概念,特别简单、形象的例子是:打电话和写信。两个人如
果要通电话 ,必须先建立连接--拨号,等待应答后才能相互传递信息,最后还要释放连接--挂电话。写
信就没有那么复杂了, 地址姓名填好以后直接往邮筒一扔,收信人就能收到。TCP/IP协议在网络层是无
连接的(数据包只管往网上发,如 何传输和到达以及是否到达由网络设备来管理)。而"端口",是传输
层的内容,是面向连接的。协议里面低于 1024的端口都有确切的定义,它们对应着因特网上常见的一些
服务。
这些常见的服务可以划分为使用TCP端口(面 向连接如打电话)和使用UDP端口(无连接如写信)两
种。
网络中可以被命名和寻址的通信端口是操作系统的一种可分配资源。由网络OSI(开放系统互联参考
模型, Open SystemInterconnection Reference Model)七层协议可知,传输层与网络层最大的区别是
传输层提供进程 通信能力,网络通信的最终地址不仅包括主机地址,还包括可描述进程的某种标识。所
以TCP/IP协议提出的协议端 口,可以认为是网络通信进程的一种标识符。
应用程序(调入内存运行后一般称为:进程)通过系统调用与某端口建立连接(binding,绑定)后
,传输层 传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都从该端口输出。在
TCP/IP协议的实现中, 端口操作类似于一般的I/O操作,进程获取一个端口,相当于获取本地唯一的
I/O文件,可以用一般的读写方式访问 类似于文件描述符,每个端口都拥有一个叫端口号的整数描述符
,用来区别不同的端口。由于TCP/IP传输层的 TCP和UDP两个协议是两个完全独立的软件模块,因此各自
的端口号也相互独立。如TCP有一个255号端口,UDP也可 以有一个255号端口,两者并不冲突。
端口号有两种基本分配方式:第一种叫全局分配这是一种集中分配方式,由一个公认权威的中央机
构根据用户 需要进行统一分配,并将结果公布于众,第二种是本地分配,又称动态连接,即进程需要访
问传输层服务时,向本 地操作系统提出申请,操作系统返回本地唯一的端口号,进程再通过合适的系统
调用,将自己和该端口连接起来( binding,绑定)。TCP/IP端口号的分配综合了以上两种方式,将端
口号分为两部分,少量的作为保留端口,以全 局方式分配给服务进程。每一个标准服务器都拥有一个全
局公认的端口叫周知口,即使在不同的机器上,其端口号 也相同。剩余的为自由端口,以本地方式进行
分配。TCP和UDP规定,小于256的端口才能作为保留端口。
按端口号可分为3大类:
(1)公认端口(Well Known Ports):从0到1023,它们紧密绑定(binding)于一些服务。通常这
些端口的通讯 明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。
(2)注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有
许多服务绑定于 这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右
开始。
(3)动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为
服务分配这些端 口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开
始。
系统管理员可以"重定向"端口:
一种常见的技术是把一个端口重定向到另一个地址。例如默认的HTTP端口是80,不少人将它重定向
到另一个端 口,如8080。如果是这样改了,要访问本文就应改用这个地址
http://wwd.3322.net:8080/net/port.htm(当然, 这仅仅是理论上的举例)。
实现重定向是为了隐藏公认的默认端口,降低受破坏率。这样如果有人要对一个公认的默认端口进
行攻击则必 须先进行端口扫描。大多数端口重定向与原端口有相似之处,例如多数HTTP端口由80变化而
来:81,88,8000, 8080,8888。同样POP的端口原来在110,也常被重定向到1100。也有不少情况是选
取统计上有特别意义的数,象 1234,23456,34567等。许多人有其它原因选择奇怪的数,42,69,
666,31337。近来,越来越多的远程控制木马 (Remote Access Trojans, RATs )采用相同的默认端口。
如NetBus的默认端口是12345。Blake R. Swopes指出使用 重定向端口还有一个原因,在UNIX系统上,如
果你想侦听1024以下的端口需要有root权限。如果你没有root权限而 又想开web服务,你就需要将其安
装在较高的端口。此外,一些ISP的防火墙将阻挡低端口的通讯,这样的话即使你 拥有整个机器你还是
得重定向端口。
计算机常用端口一览表:
1 传输控制协议端口服务多路开关选择器
2 compressnet 管理实用程序
3 压缩进程
5 远程作业登录
7 回显(Echo)
9 丢弃
11 在线用户
13 时间
15 netstat
17 每日引用
18 消息发送协议
19 字符发生器
20 文件传输协议(默认数据口)
21 文件传输协议(控制)
22 SSH远程登录协议
23 telnet 终端仿真协议
24 预留给个人用邮件系统
25 smtp 简单邮件发送协议
27 NSW 用户系统现场工程师
29 MSG ICP
31 MSG验证
33 显示支持协议
35 预留给个人打印机服务
37 时间
38 路由访问协议
39 资源定位协议
41 图形
42 WINS 主机名服务
43 "绰号" who is服务
44 MPM(消息处理模块)标志协议
45 消息处理模块
46 消息处理模块(默认发送口)
47 NI FTP
48 数码音频后台服务
49 TACACS登录主机协议
50 远程邮件检查协议
51 IMP(接口信息处理机)逻辑地址维护
52 施乐网络服务系统时间协议
53 域名服务器
54 施乐网络服务系统票据交换
55 ISI图形语言
56 施乐网络服务系统验证
57 预留个人用终端访问
58 施乐网络服务系统邮件
59 预留个人文件服务
60 未定义
61 NI邮件?
62 异步通讯适配器服务
63 WHOIS+
64 通讯接口
65 TACACS数据库服务
66 Oracle SQL*NET
67 引导程序协议服务端
68 引导程序协议客户端
69 小型文件传输协议
70 信息检索协议
71 远程作业服务
72 远程作业服务
73 远程作业服务
74 远程作业服务
75 预留给个人拨出服务
76 分布式外部对象存储
77 预留给个人远程作业输入服务
78 修正TCP
79 Finger(查询远程主机在线用户等信息)
80 全球信息网超文本传输协议(www)
81 HOST2名称服务
82 传输实用程序
83 模块化智能终端ML设备
84 公用追踪设备
85 模块化智能终端ML设备
86 Micro Focus Cobol编程语言
87 预留给个人终端连接
88 Kerberros安全认证系统
89 SU/MIT终端仿真网关
90 DNSIX 安全属性标记图
91 MIT Dover假脱机
92 网络打印协议
93 设备控制协议
94 Tivoli对象调度
95 SUPDUP
96 DIXIE协议规范
97 快速远程虚拟文件协议
98 TAC(东京大学自动计算机)新闻协议
101 usually from sri-nic
102 iso-tsap
103 ISO Mail
104 x400-snd
105 csnet-ns
109 Post Office
110 Pop3 服务器(邮箱发送服务器)
111 portmap 或 sunrpc
113 身份查询
115 sftp
117 path 或 uucp-path
119 新闻服务器
121 BO jammerkillah
123 network time protocol (exp)
135 DCE endpoint resolutionnetbios-ns
137 NetBios-NS
138 NetBios-DGN
139 win98 共享资源端口(NetBios-SSN)
143 IMAP电子邮件
144 NeWS - news
153 sgmp - sgmp
158 PCMAIL
161 snmp - snmp
162 snmp-trap -snmp
170 network PostScript
175 vmnet
194 Irc
315 load
400 vmnet0
443 安全服务
456 Hackers Paradise
500 sytek
512 exec
513 login
514 shell - cmd
515 printer - spooler
517 talk
518 ntalk
520 efs
526 tempo - newdate
530 courier - rpc
531 conference - chat
532 netnews - readnews
533 netwall
540 uucp - uucpd 543 klogin
544 kshell
550 new-rwho - new-who
555 Stealth Spy(Phase)
556 remotefs - rfs_server
600 garcon
666 Attack FTP
750 kerberos - kdc
751 kerberos_master
754 krb_prop
888 erlogin
1001 Silencer 或 WebEx
1010 Doly trojan v1.35
1011 Doly Trojan
1024 NetSpy.698 (YAI)
1025 NetSpy.698
1033 Netspy
1042 Bla1.1
1047 GateCrasher
1080 Wingate
1109 kpop
1243 SubSeven
1245 Vodoo
1269 Maverick s Matrix
1433 Microsoft SQL Server 数据库服务
1492 FTP99CMP (BackOriffice.FTP)
1509 Streaming Server
1524 ingreslock
1600 Shiv
1807 SpySender
1981 ShockRave
1999 Backdoor
2000 黑洞(木马) 默认端口
2001 黑洞(木马) 默认端口
2023 Pass Ripper
2053 knetd
2140 DeepThroat.10 或 Invasor
2283 Rat
2565 Striker
2583 Wincrash2
2801 Phineas
3129 MastersParadise.92
3150 Deep Throat 1.0
3210 SchoolBus
3389 Win2000 远程登陆端口
4000 OICQ Client
4567 FileNail
4950 IcqTrojan
5000 WindowsXP 默认启动的 UPNP 服务
5190 ICQ Query
5321 Firehotcker
5400 BackConstruction1.2 或 BladeRunner
5550 Xtcp
5555 rmt - rmtd
5556 mtb - mtbd
5569 RoboHack
5714 Wincrash3
5742 Wincrash
6400 The Thing
6669 Vampire
6670 Deep Throat
6711 SubSeven
6713 SubSeven
6767 NT Remote Control
6771 Deep Throat 3
6776 SubSeven
6883 DeltaSource
6939 Indoctrination
6969 Gatecrasher.a
7306 网络精灵(木马)
7307 ProcSpy
7308 X Spy
7626 冰河(木马) 默认端口
7789 ICQKiller
8000 OICQ Server
9400 InCommand
9401 InCommand
9402 InCommand
9535 man
9536 w
9537 mantst
9872 Portal of Doom
9875 Portal of Doom
9989 InIkiller
10000 bnews
10001 queue
10002 poker
10167 Portal Of Doom
10607 Coma
11000 Senna Spy Trojans
11223 ProgenicTrojan
12076 Gjamer 或 MSH.104b
12223 Hack?9 KeyLogger
12345 netbus木马 默认端口
12346 netbus木马 默认端口
12631 WhackJob.NB1.7
16969 Priotrity
17300 Kuang2
20000 Millenium II (GrilFriend)
20001 Millenium II (GrilFriend)
20034 NetBus Pro
20331 Bla
21554 GirlFriend 或 Schwindler 1.82
22222 Prosiak
23456 Evil FTP 或 UglyFtp 或 WhackJob
27374 SubSeven
29891 The Unexplained
30029 AOLTrojan
30100 NetSphere
30303 Socket23
30999 Kuang
31337 BackOriffice
31339 NetSpy
31666 BO Whackmole
31787 Hack a tack
33333 Prosiak
33911 Trojan Spirit 2001 a
34324 TN 或 Tiny Telnet Server
40412 TheSpy
40421 MastersParadise.96
40423 Master Paradise.97
47878 BirdSpy2
50766 Fore 或 Schwindler
53001 Remote Shutdown
54320 Back Orifice 2000
54321 SchoolBus 1.6
61466 Telecommando
65000 Devil
计算机“端口”是英文port的义译,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。
按端口号可分为3大类:
(1)公认端口(Well Known Ports):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。
(2)注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。
(3)动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。
一些端口常常会被黑客利用,还会被一些木马病毒利用,对计算机系统进行攻击,以下是计算机端口的介绍以及防止被黑客攻击的简要办法。
8080端口
端口说明:8080端口同80端口,是被用于WWW代理服务的,可以实现网页浏览,经常在访问某个网站或使用代理服务器的时候,会加上“:8080”端口号,比如http://www.cce.com.cn:8080。
端口漏洞:8080端口可以被各种病毒程序所利用,比如Brown Orifice(BrO)特洛伊木马病毒可以利用8080端口完全遥控被感染的计算机。另外,RemoConChubo,RingZero木马也可以利用该端口进行攻击。
操作建议:一般我们是使用80端口进行网页浏览的,为了避免病毒的攻击,我们可以关闭该端口。
端口: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都开放这个端口。
端口:80
服务:HTTP
说明:用于网页浏览。木马Executor开放此端口。
端口: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等
端口:119
服务:Network News Transfer Protocol
说明:NEWS新闻组传输协议,承载USENET通信。这个端口的连接通常是人们在寻找USENET服务器。多数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也用它。
端口:161
服务:SNMP
说明:SNMP允许远程管理设备。所有配置和运行信息的储存在数据库中,通过SNMP可获得这些信息。许多管理员的错误配置将被暴露在Internet。Cackers将试图使用默认的密码public、private访问系统。他们可能会试验所有可能的组合。SNMP包可能会被错误的指向用户的网络
什么是端口?
在开始讲什么是端口之前,我们先来聊一聊什么是 port 呢?常常在网络上听说‘我的主机开了多少的 port ,会不会被入侵呀!?’或者是说‘开那个 port 会比较安全?又,我的服务应该对应什么 port 呀!?’呵呵!很神奇吧!怎么一部主机上面有这么多的奇怪的 port 呢?这个 port 有什么作用呢?!
由于每种网络的服务功能都不相同,因此有必要将不同的封包送给不同的服务来处理,所以啰,当你的主机同时开启了 FTP 与 WWW 服务的时候,那么别人送来的资料封包,就会依照 TCP 上面的 port 号码来给 FTP 这个服务或者是 WWW 这个服务来处理,当然就不会搞乱啰!(注:嘿嘿!有些很少接触到网络的朋友,常常会问说:‘咦!为什么你的计算机同时有 FTP、WWW、E-Mail 这么多服务,但是人家传资料过来,你的计算机怎么知道如何判断?计算机真的都不会误判吗?!’现在知道为什么了吗?!对啦!就是因为 port 不同嘛!你可以这样想啦,有一天,你要去银行存钱,那个银行就可以想成是‘主机’,然后,银行当然不可能只有一种业务,里头就有相当多的窗口,那么你一进大门的时候,在门口的服务人员就会问你说:‘嗨!你好呀!你要做些什么事?’你跟他说:‘我要存钱呀!’,服务员接着就会告诉你:‘喝!那么请前往三号窗口!那边的人员会帮您服务!’这个时候你总该不会往其它的窗口跑吧?! ""这些窗口就可以想成是‘ port ’啰!所以啦!每一种服务都有特定的 port 在监听!您无须担心计算机会误判的问题呦!)
· 每一个 TCP 联机都必须由一端(通常为 client )发起请求这个 port 通常是随机选择大于 1024 以上的 port 号来进行!其 TCP 封包会将(且只将) SYN 旗标设定起来!这是整个联机的第一个封包;
· 如果另一端(通常为 Server ) 接受这个请求的话(当然啰,特殊的服务需要以特殊的 port 来进行,例如 FTP 的 port 21 ),则会向请求端送回整个联机的第二个封包!其上除了 SYN 旗标之外同时还将 ACK 旗标也设定起来,并同时时在本机端建立资源以待联机之需;
· 然后,请求端获得服务端第一个响应封包之后,必须再响应对方一个确认封包,此时封包只带 ACK 旗标(事实上,后继联机中的所有封包都必须带有 ACK 旗标);
· 只有当服务端收到请求端的确认( ACK )封包(也就是整个联机的第三个封包)之后,两端的联机才能正式建立。这就是所谓的 TCP 联机的'三段式交握( Three-Way Handshake )'的原理。
经过三向交握之后,呵呵!你的 client 端的 port 通常是高于 1024 的随机取得的 port 至于主机端则视当时的服务是开启哪一个 port 而定,例如 WWW 选择 80 而 FTP 则以 21 为正常的联机信道!
总而言之,我们这里所说的端口,不是计算机硬件的I/O端口,而是软件形式上的概念.工具提供服务类型的不同,端口分为两种,一种是TCP端口,一种是UDP端口。计算机之间相互通信的时候,分为两种方式:一种是发送信息以后,可以确认信息是否到达,也就是有应答的方式,这种方式大多采用TCP协议;一种是发送以后就不管了,不去确认信息是否到达,这种方式大多采用UDP协议。对应这两种协议的服务提供的端口,也就分为TCP端口和UDP端口。
那么,如果攻击者使用软件扫描目标计算机,得到目标计算机打开的端口,也就了解了目标计算机提供了那些服务。我们都知道,提供服务就一定有服务软件的漏洞,根据这些,攻击者可以达到对目标计算机的初步了解。如果计算机的端口打开太多,而管理者不知道,那么,有两种情况:一种是提供了服务而管理者没有注意,比如安装IIS的时候,软件就会自动增加很多服务,而管理员可能没有注意到;一种是服务器被攻击者安装木马,通过特殊的端口进行通信。这两种情况都是很危险的,说到底,就是管理员不了解服务器提供的服务,减小了系统安全系数。