`

计算机端口详解

阅读更多

计算机端口是英文port的义译,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。 

    
可以先了解面向连接和无连接协议(ConnectionOriented and Connectionless Protocols 
    
面向连接服务的主要特点有:面向连接服务要经过三个阶段:数据传数前,先建立连接,连接建立后再传输数据,数据传送完后,释放连接。面向连接服务,可确保数据传送的次序和传输的可靠性。 
    
无连接服务的特点是:无连接服务只有传输数据阶段。消除了除数据通信外的其它开销。只要发送实体是活跃的,无须接收实体也是活跃的。它的优点是灵活方便、迅速,特别适合于传送少量零星的报文,但无连接服务不能防止报文的丢失、重复或失序。 

    
区分面向连接服务无连接服务的概念,特别简单、形象的例子是:打电话和写信。两个人如果要通电话,必须先建立连接——拨号,等待应答后才能相互传递信息,最后还要释放连接——挂电话。写信就没有那么复杂了,地址姓名填好以后直接往邮筒一扔,收信人就能收到。TCP/IP协议在网络层是无连接的(数据包只管往网上发,如何传输和到达以及是否到达由网络设备来管理)。而端口,是传输层的内容,是面向连接的。协议里面低于1024的端口都有确切的定义,它们对应着因特网上常见的一些服务。这些常见的服务可以划分为使用TCP端口(面向连接如打电话)和使用UDP端口(无连接如写信)两种。 

    
网络中可以被命名和寻址的通信端口是操作系统的一种可分配资源。由网络OSI(开放系统互联参考模型,Open System Interconnection Reference Model)七层协议可知,传输层与网络层最大的区别是传输层提供进程通信能力, 网络通信的最终地址不仅包括主机地址,还包括可描述进程的某种标识。所以TCP/IP协议提出的协议端口,可以认为是网络通信进程的一种标识符。 

    
应用程序(调入内存运行后一般称为:进程)通过系统调用与某端口建立连接(binding,绑定)后,传输层传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都从该端口输出。在TCP/IP协议的实现中,端口操作类似于一般的I/O操作,进程获取一个端口,相当于获取本地唯一的I/O文件,可以用一般的读写方式访问。 

    
类似于文件描述符,每个端口都拥有一个叫端口号的整数描述符,用来区别不同的端口。由于TCP/IP传输层的TCPUDP两个协议是两个完全独立的软件模块,因此各自的端口号也相互独立。如TCP有一个255号端口,UDP也可以有一个255号端口,两者并不冲突。 

    
端口号有两种基本分配方式:第一种叫全局分配这是一种集中分配方式,由一个公认权威的中央机构根据用户需要进行统一分配,并将结果公布于众,第二种是本地分配,又称动态连接,即进程需要访问传输层服务时,向本地操作系统提出申请,操作系统返回本地唯一的端口号,进程再通过合适的系统调用,将自己和该端口连接起来(binding,绑定)。TCP/IP端口号的分配综合了以上两种方式,将端口号分为两部分,少量的作为保留端口,以全局方式分配给服务进程。每一个标准服务器都拥有一个全局公认的端口叫周知口,即使在不同的机器上,其端口号也相同。剩余的为自由端口,以本地方式进行分配。TCPUDP规定,小于256的端口才能作为保留端口。 

按端口号可分为3大类: 
1)公认端口(Well Known Ports):从01023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。  
2)注册端口(Registered Ports):从102449151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。  
3)动态和/或私有端口(Dynamic and/or Private Ports):从4915265535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUNRPC端口从32768开始。 

系统管理员可以重定向端口: 
    
一种常见的技术是把一个端口重定向到另一个地址。例如默认的HTTP端口是80,不少人将它重定向到另一个端口,如8080。如果是这样改了,要访问本文就应改用这个地址http://wwd.3322.net:8080/net/port.htm(当然,这仅仅是理论上的举例)。 
    
实现重定向是为了隐藏公认的默认端口,降低受破坏率。这样如果有人要对一个公认的默认端口进行攻击则必须先进行端口扫描。大多数端口重定向与原端口有相似之处,例如多数HTTP端口由80变化而来:8188800080808888。同样POP的端口原来在110,也常被重定向到1100。也有不少情况是选取统计上有特别意义的数,象12342345634567等。许多人有其它原因选择奇怪的数,426966631337。近来,越来越多的远程控制木马( Remote Access Trojans, RATs )采用相同的默认端口。如NetBus的默认端口是12345Blake R. Swopes指出使用重定向端口还有一个原因,在UNIX系统上,如果你想侦听1024以下的端口需要有root权限。如果你没有root权限而又想开web服务,你就需要将其安装在较高的端口。此外,一些ISP的防火墙将阻挡低端口的通讯,这样的话即使你拥有整个机器你还是得重定向端口。 
常用默认端口列表及功能中文注解 

端口                功能英文注解                        功能中文注解 

1
 tcpmux TCP Port Service Multiplexer          传输控制协议端口服务多路开关选择器  
2
 compressnet Management Utility             compressnet 管理实用程序  
3
 compressnet Compression Process            压缩进程  
5
 rje Remote Job Entry                  远程作业登录  
7
 echo Echo                       回显  
9
 discard Discard                    丢弃  
11
 systat Active Users                 在线用户  
13
 daytime Daytime                   时间  
17
 qotd Quote of the Day                 每日引用  
18
 msp Message Send Protocol               消息发送协议  
19
 chargen Character Generator              字符发生器  
20
 ftp-data File Transfer[Default Data]         文件传输协议(默认数据口)   
21
 ftp File Transfer[Control]              文件传输协议(控制)  
22
 ssh SSH Remote Login Protocol             SSH远程登录协议  
23
 telnet Telnet                     终端仿真协议  
24
 ? any private mail system               预留给个人用邮件系统  
25
 smtp Simple Mail Transfer               简单邮件发送协议  
27
 nsw-fe NSW User System FE               NSW 用户系统现场工程师  
29
 msg-icp MSG ICP                    MSG ICP  
31
 msg-auth MSG Authentication              MSG验证  
33
 dsp Display Support Protocol             显示支持协议  
35
 ? any private printer server             预留给个人打印机服务  
37
 time Time                       时间  
38
 rap Route Access Protocol               路由访问协议  
39
 rlp Resource Location Protocol            资源定位协议  
41
 graphics Graphics                   图形  
42
 nameserver WINS Host Name Server           WINS 主机名服务  
43
 nicname Who Is                    "绰号" who is服务  
44
 mpm-flags MPM FLAGS Protocol             MPM(消息处理模块)标志协议  
45
 mpm Message Processing Module [recv]         消息处理模块   
46
 mpm-snd MPM [default send]              消息处理模块(默认发送口)  
47
 ni-ftp NI FTP                     NI FTP  
48
 auditd Digital Audit Daemon              数码音频后台服务   
49
 tacacs Login Host Protocol (TACACS)          TACACS登录主机协议  
50
 re-mail-ck        Remote Mail Checking Protocol         远程邮件检查协议  
51
 la-maint IMP Logical Address Maintenance         IMP(接口信息处理机)逻辑地址维护  
52
 xns-time XNS Time Protocol              施乐网络服务系统时间协议    
53
 domain Domain Name Server               域名服务器  
54
 xns-ch XNS Clearinghouse               施乐网络服务系统票据交换  
55
 isi-gl ISI Graphics Language             ISI图形语言  
56
 xns-auth XNS Authentication              施乐网络服务系统验证  
57
 ? any private terminal access             预留个人用终端访问  
58
 xns-mail XNS Mail                   施乐网络服务系统邮件  
59
 ? any private file service              预留个人文件服务  
60
 ? Unassigned                     未定义  
61
 ni-mail NI MAIL                    NI邮件?  
62
 acas ACA Services                   异步通讯适配器服务  
63
 whois+ whois+                      WHOIS+  
64
 covia Communications Integrator (CI)         通讯接口   
65
 tacacs-ds TACACS-Database Service           TACACS数据库服务  
66
 sql*net Oracle SQL*NET                Oracle SQL*NET  
67
 bootps Bootstrap Protocol Server           引导程序协议服务端  
68
 bootpc Bootstrap Protocol Client           引导程序协议客户端  
69
 tftp Trivial File Transfer              小型文件传输协议  
70
 gopher Gopher                     信息检索协议  
71
 netrjs-1 Remote Job Service              远程作业服务  
72
 netrjs-2 Remote Job Service              远程作业服务  
73
 netrjs-3 Remote Job Service              远程作业服务  
74
 netrjs-4 Remote Job Service              远程作业服务  
75
 ? any private dial out service            预留给个人拨出服务  
76
 deos Distributed External Object Store         分布式外部对象存储   
77
 ? any private RJE service               预留给个人远程作业输入服务  
78
 vettcp vettcp                     修正TCP?  
79
 finger Finger                     查询远程主机在线用户等信息  
80
 http World Wide Web HTTP               全球信息网超文本传输协议  
81
 hosts2-ns HOSTS2 Name Server             HOST2名称服务  
82
 xfer XFER Utility                   传输实用程序  
83
 mit-ml-dev MIT ML Device               模块化智能终端ML设备  
84
 ctf Common Trace Facility               公用追踪设备  
85
 mit-ml-dev MIT ML Device               模块化智能终端ML设备  
86
 mfcobol Micro Focus Cobol               Micro Focus Cobol编程语言  
87
 ? any private terminal link              预留给个人终端连接  
88
 kerberos Kerberos                   Kerberros安全认证系统  
89
 su-mit-tg SU/MIT Telnet Gateway            SU/MIT终端仿真网关  
90
 dnsix DNSIX Securit Attribute Token Map         DNSIX 安全属性标记图   
91
 mit-dov MIT Dover Spooler               MIT Dover假脱机  
92
 npp Network Printing Protocol             网络打印协议  
93
 dcp Device Control Protocol              设备控制协议  
94
 objcall Tivoli Object Dispatcher           Tivoli对象调度  
95
 supdup                                         SUPDUP              
96
 dixie DIXIE Protocol Specification          DIXIE协议规范  
97
 swift-rvfSwift Remote Virtural File Protocol)快速远程虚拟文件协议   
98
 tacnews TAC News                   TAC新闻协议  
99
 metagram Metagram Relay         
100
 newacct [unauthorized use]

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics