计算机网络端口详细介绍
端口概念
在网络技术中,端口(port)大致有两种意思:
一是物理上的端口,比如ADSL、Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。
二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。
这里要说的是逻辑意义上的端口。
什么是端口
在Internet上,各主机间通过TCP/TP协议发送和接收数据报,各个数据报根据其目的主机的IP地址来进行互联网络中的路由选择。可见,把数据报顺利的传送到目的主机是没有问题的。我们知道大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据报传送给众多同时运行的进程中的哪一个?显然这个问题有待解决,端口机制便由此被引入了进来。
本地操作系统会给那些有需求的进程分配协议端口(protocal port,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139等等。当目的主机接收到数据报后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。
端口其实就是队,操作系统为各个进程分配了不同的队,数据报按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。不光接受数据报的进程需要开启它自己的端口,发送数据报的进程也需要开启端口,这样,数据报中将会标识有源端口,以便接受方能顺利的回传数据报到这个端口。
端口的作用
我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务,FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP地址与网络服务的关系是一对多的关系。实际上是通过"IP地址+端口号"来区分不同的服务的。
客户端通常对它所使用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以了。客户端端口号又称作临时端口号(即存在时间很短)。这是因为它通常只是在用户运行该客户程序时才存在,而服务器则只要主机开着,其服务就运行。
查看端口
可以使用Netstat命令:开始->运行,键入"cmd"并回车,打开命令提示符窗口。在命令提示符状态下键入"netstat -a -n",按下回车键后就可以看到以数字形式显示的 TCP和UDP连接的端口号及状态。关闭/开启端口
默认的情况下,有很多不安全的或者没有什么用的端口是开启的,比如Telent服务的23端口、FTP服务的21端口、SMTP服务的25端口、RPC服务的135端口等。为了保证系统的安全性,我们可以通过下面的方法来关闭/开启端口。
关闭端口
比如关闭Apache2.4服务端口,可以这样做:开始->运行->服务->在服务窗口找到Apache2.4并双击->单击"停止"按钮来停止该服务->然后在"启动类型"中选择"禁用"->最后单击"确定"按钮即可。关闭了Apache2.4服务就相当于关闭了对应的端口。开启端口
如果要开启该端口只要先在"启动类型"选择"自动",单击"确定"按钮,再打开该服务,在"服务状态中单击"启动"按钮即可启用该端口,最后,单击"确定"按钮即可。
端口分类
逻辑意义上的端口有多种分类标准,下面是两种常见的分类:
1.按端口号分布划分
(1)知名端口(Well-Known Ports)
知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。比如25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。
(2)动态端口(Dynamic Ports)
动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如1024端口就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所占用的端口号。
不过动态端口也常常被病毒木马程序所利用,如冰河默认连接端口是7626、WAY 2.4是8011、Netspy 3.0是7306、YAI病毒是1024等等。
2.按协议类型划分
按协议类型划分,可以分为TCP、UDP、IP和ICMP(Internet控制消息协议)等端口。
(1)TCP端口
TCP端口,即传输控制协议端口,需要在客户端和服务器之间建立连接,这样可以提供可靠的数据传输。常见的包括FTP服务的21端口,Telent服务的23端口,SMTP服务的25端口,以及HTTP服务的80端口等。
(2)UDP端口
UDP端口,即用户数据包协议端口,无需在客户端和服务器之间建立连接,安全性得不到保障。常见的有DNS服务的53端口,SNMP(简单网络管理协议)服务的161端口,QQ使用的8000和4000端口等等。
端口在入侵中的作用
有人曾经把服务器比作房子,而把端口比作通向不同房间(服务)的门。入侵者要占领这间房子,势必要破门而入(物理入侵另说),那么对于入侵者来说,了解房子开了几扇门,都是什么样的门,门后面有什么东西就显得至关重要。
入侵者通常会用扫描器对目标主机的端口进行扫描,以确定哪些端口是开放的,从开放的端口,入侵者可以知道目标主机大致提供了哪些服务,进而猜测可能存在的漏洞,因此对端口的扫描可以帮助我们更好的了解目标主机,而对于管理员,扫描本机的开放端口也是做好安全防范的第一步。
常见端口表汇总
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 sqlnet Oracle SQLNET 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 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-rvf Swift Remote Virtural File Protocol 快速远程虚拟文件协议
98 tacnews TAC News TAC(东京大学自动计算机?)新闻协议