一、端口号的概念

网络技术中,端口一般有两个意思,一个是物理端口,一个是逻辑意义上的端口。
物理端一般有ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。
逻辑上的端口有TCP/IP协议中的端口,端口号的范围从0到65535,每个端口号又有不同的含义,有HTTP中的80端口等。

(1)端口号的理解

我们知道一个IP对应一台物理主机,对应一张网卡,所有由外界发送的数据包网卡都会接收,但此时存在于一个问题,网卡给程序提供了接口,只要程序监听我,消息来了我就转发给你,这样程序就能收到数据了,但是问题来了,如果此时有两个程序A和程序B都需要监听网卡收到的数据,此时网卡说我把数据给你们俩,你们自己看吧,于是程序A和程序B就相互竞争收到数据,最后都很累。

所以此时网卡说那我给你们个标记吧,你们之间可以选择用一个号码来作为表示,网卡和A就用1来表示,如果外界发送数据给1号表示的数据我就转发给A,你监听的时候就要监听1。其他的程序每一个都要弄一个自己等端口号,这样大家都不会重复,也不会竞争了。

所以设计到最后,一个端口号只能被一个应用程序监听,如果多个程序监听一个标识端口号,那么此时就会产生问题,传送的数据A和B都收到了,这样数据的安全性无法保证。

所以这个标识号就是端口。

其实网卡都是被系统层封装了,端口和进程之间的关系也是系统封装好的。我们只需要用socket就行,给定一个端口号就行了。其他的事都交给操作系统去做。

二、端口号的分类

按照端口号可分为三大类。
第一类:公认端口:(0~1023)它们紧密绑定一些服务,一般来用这些端口的通讯来表明某种服务的协议。(比如HTTP通讯的80端口。21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,135端口分配给RPC(远程过程调用)服务等等)
第二类:注册端口(1024~49151):它们松散的绑定于一些服务。有许多服务绑定于这些端口,这些端口也同样用于许多其他目的。(系统处理动态端口从1024开始)
第三类:动态/或私有端口(49152~65535)一般不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。

三、常用的端口

0 通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用一种通常的闭合端口连接它时将产生不同的结果。一种典型的扫描:使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。

端口号 端口服务名称 解释
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     丢弃
1 systat Active Users     在线用户
1 daytime Daytime      时间
1 qotd Quote of the Day    每日引用
1 msp Message Send Protocol    消息发送协议
1 chargen Character Generator   字符发生器
2 ftp – data File Transfer[Default Data]  文件传输协议(默认数据口)
2 ftp File Transfer[Control]    文件传输协议(控制)
2 ssh SSH Remote Login Protocol   SSH远程登录协议
2 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 – rvf (Swift Remote Virtural File Protocol)快速远程虚拟文件协议
98 tacnews TAC News