目录

TCP和UDP
端口号的分配
广泛公认的端口列表
常用端口列表
Linux系统的端口列表信息
Linux系统nftables防火墙的端口映射

(20190525添加:Linux系统nftables防火墙的端口映射 章节)
传输层的端口
计算机之间依照互联网传输层TCP/IP协议的协议通信,不同的协议都对应不同的端口。并且,利用数据报文的UDP也不一定和TCP采用相同的端口号码。

TCP和UDP

  • TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。
  • UDP(User Data Protocol,用户数据报协议)非连接的协议,传输数据之前源端和终端不建立连接,尽快交付,不保证可靠交付。

>  TCP就好比打电话: 可靠,相对消耗资源也更多.
拨通电话,且对方接听了电话,才算建立连接成功,这时候就可以聊天了。TCP数据才开始发送。
电话拨通了,但对方没接,建立连接失败;需要重拨...
若中途掉线,即连接断开,聊天也中断了。连接断开;需要重拨...
>  UDP就好比发送短消息: 快速节能但不可靠.
只管发出去,不管对方能不能看到。更不会考虑对方是否有拦截短信等软件。
对方没带手机,手机没电关机...与我无关,我已发送完成。

端口号的分配

端口号基于三个范围以各种方式分配。这些范围的差异用途描述于[RFC6335]。根据[RFC6335]的8.1.2节:

  • 系统端口:(0-1023)是由“IETF审查”或“IESG批准”程序分配[RFC8126]。
  • 用户端口:(1024-49151)由IANA使用“IETF审核”流程分配,根据“IESG批准”流程或“专家审核”流程[RFC6335]。
  • 动态端口:(49152-65535)或称私有端口, 根据定义,没有端口可以被正式地注册占用。

广泛公认的端口列表

完整的注册端口列表,最近更新时间:2019-04-23 (查看时间20190503,还是非常新的。)
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
网页上查看有142页,有超过14000行的端口登记信息。支持导出格式有csv, xml, heml, txt
有搜索栏,方便搜索关键字。
注:

  1. 广泛公认的端口,是大部分广泛使用的程序或协议的默认端口,但实际使用时,由于安全等原因,系统管理员可以自行指定端口号。
  2. 这里的端口号通常指的是服务器端的端口号。比如网页浏览器会在本机的36406端口和远端的80端口间建立连接。服务端的80端口就是默认的广泛公认的端口。而本机的36406则只是临时端口。

https://zh.wikipedia.org/wiki/TCP/UDP端口列表
wiki这里筛选了常用的端口,约500行。包括一些游戏使用的端口。

常用端口列表  

端口 服务 描述
20/TCP,UDP FTP [Default Data] 文件传输协议 - 默认数据端口
21/TCP,UDP FTP [Control] 文件传输协议 - 控制端口
22/TCP,UDP SSH SSH(Secure Shell) - 远程登录协议,用于安全登录文件传输(SCP,SFTP)及端口重新定向
23/TCP,UDP Telnet Telnet终端仿真协议 - 未加密文本通信
25/TCP,UDP SMTP SMTP(简单邮件传输协议) - 用于邮件服务器间的电子邮件传递
43/TCP WHOIS WHOIS协议
53/TCP,UDP DNS DNS(域名服务系统)
67/UDP BOOTPs BOOTP(BootStrap协议)服务;同时用于动态主机设置协议
68/UDP BOOTPc BOOTP客户端;同时用于动态主机设定协议
69/UDP TFTP 小型文件传输协议(小型文件传输协议)
80/TCP Http 超文本传输协议(超文本传输协议)- 用于传输网页
110/TCP POP3 邮局协议,“邮局协议”,第3版 - 用于接收电子邮件
113/TCP Windows验证服务 Ident - 旧的服务器身份识别系统,仍然被IRC服务器用来认证它的用户
123/UDP NTP NTP(Network Time Protocol) - 用于时间同步
137/TCP,UDP NetBIOS Name Service NetBIOS NetBIOS 名称服务
138/TCP,UDP NetBIOS Datagram Service NetBIOS NetBIOS 数据报文服务
139/TCP,UDP NetBIOS Session Service NetBIOS NetBIOS 会话服务
143/TCP,UDP IMAP 因特网信息访问协议(Internet信息访问协议 4) - 用于检索 电子邮件s
161/TCP,UDP SNMP 简单网络管理协议 (简单网络管理协议)
179/TCP Bgp 边界网关协议 (边界网关协议)
194/TCP   IRC(互联网中继聊天)
220/TCP,UDP IMAP3 因特网信息访问协议,交互邮件访问协议第3版
389/TCP,UDP LDAP 轻型目录访问协议 LDAP
443/TCP Https 超文本传输安全协议 - 超文本传输协议 over TLS/SSL(加密传输)
546/TCP,UDP   DHCPv6客户端
547/TCP,UDP   DHCPv6服务器
631/TCP,UDP CUPS 互联网打印协议
636/TCP,UDP LDAPS LDAP over SSL(加密传输,也被称为LDAPS)
991/TCP,UDP   NAS (Netnews Admin System)
1080/tcp SOCKS SOCKS代理
1194/udp   OpenVPN
1433/tcp,udp SQL Server Microsoft SQL 数据库系统
1434/tcp,udp SQL Server monitor Microsoft SQL 活动监视器
1521/tcp Oracle Oracle数据库 default listener, in future releases official port 2483
3306/tcp,udp MySQL MySQL数据库系统
3389/tcp RDP 远程桌面协议(RDP)
5432/tcp PostgreSQL PostgreSQL database system

Linux系统的端口列表信息

使用“ cat /etc/services ”命令,可以查看所有服务默认的端口列表信息。
$ cat /etc/services |wc -l
11410 //1行就是1个tcp或udp端口对照
 
//# Full data: /usr/share/iana-etc/port-numbers.iana
$ cat /usr/share/iana-etc/port-numbers.iana |wc -l
121959 //类似xml格式的,7行左右表示1个端口信息
 

Linux系统nftables防火墙的端口映射

https://wiki.archlinux.org/index.php/Nftables
注意: nft不用于/etc/services将端口号与名称匹配,而是使用内部列表。 要从命令行显示端口映射,请使用eg nft describe tcp dport。
$ sudo nft describe tcp dport |wc -l
338
$ sudo nft describe tcp dport
payload expression, datatype inet_service (internet network service) (basetype integer), 16 bits
pre-defined symbolic constants (in decimal):
tcpmux 1
echo 7
... 详见下表:

sn name port   name port   name port   name port
  tcpmux 1 exec 512 cfinger 2003 x11-6 6006
  echo 7 login 513 search 2010 x11-7 6007
  discard 9 shell 514 nfs 2049 gnutella-svc 6346
  systat 11 printer 515 knetd 2053 gnutella-rtr 6347
  daytime 13 talk 517 gnunet 2086 sge-qmaster 6444
  netstat 15 ntalk 518 rtcm-sc104 2101 sge-execd 6445
  qotd 17 route 520 zephyr-srv 2102 mysql-proxy 6446
  msp 18 timed 525 zephyr-clt 2103 syslog-tls 6514
  chargen 19 tempo 526 zephyr-hm 2104 sane-port 6566
  ftp-data 20 courier 530 eklogin 2105 ircd 6667
  ftp 21 conference 531 kx 2111 afs3-fileserver 7000
  ssh 22 netnews 532 gsigatekeeper 2119 afs3-callback 7001
  telnet 23 netwall 533 iprop 2121 afs3-prserver 7002
  smtp 25 gdomap 538 gris 2135 afs3-vlserver 7003
  time 37 uucp 540 ninstall 2150 afs3-kaserver 7004
  rlp 39 klogin 543 cvspserver 2401 afs3-volser 7005
  nameserver 42 kshell 544 venus 2430 afs3-errors 7006
  whois 43 dhcpv6-client 546 venus-se 2431 afs3-bos 7007
  tacacs 49 dhcpv6-server 547 codasrv 2432 afs3-update 7008
  re-mail-ck 50 afpovertcp 548 codasrv-se 2433 afs3-rmtsys 7009
  domain 53 idfp 549 mon 2583 font-service 7100
  mtp 57 rtsp 554 zebrasrv 2600 zope-ftp 8021
  tacacs-ds 65 remotefs 556 zebra 2601 http-alt 8080
  bootps 67 nntps 563 ripd 2602 tproxy 8081
  bootpc 68 submission 587 ripngd 2603 omniorb 8088
  tftp 69 nqs 607 ospfd 2604 clc-build-daemon 8990
  gopher 70 npmp-local 610 bgpd 2605 xinetd 9098
  rje 77 npmp-gui 611 ospf6d 2606 bacula-dir 9101
  finger 79 hmmp-ind 612 ospfapi 2607 bacula-fd 9102
30 http 80 asf-rmcp 623 isisd 2608 bacula-sd 9103
  link 87 qmqp 628 dict 2628 mandelspawn 9359
  kerberos 88 ipp 631 f5-globalsite 2792 git 9418
  supdup 95 ldaps 636 gsiftp 2811 xmms2 9667
  linuxconf 98 tinc 655 gpsd 2947 zope 9673
  hostnames 101 silc 706 afbackup 2988 webmin 10000
  iso-tsap 102 kerberos-adm 749 afmbackup 2989 zabbix-agent 10050
  acr-nema 104 kerberos4 750 gds-db 3050 zabbix-trapper 10051
  csnet-ns 105 kerberos-master 751 icpv2 3130 amanda 10080
  poppassd 106 passwd-server 752 iscsi-target 3260 kamanda 10081
  rtelnet 107 krb-prop 754 mysql 3306 amandaidx 10082
  pop2 109 krbupdate 760 nut 3493 amidxtape 10083
  pop3 110 webster 765 distcc 3632 nbd 10809
  sunrpc 111 moira-db 775 daap 3689 dicom 11112
  auth 113 moira-update 777 svn 3690 smsqp 11201
  sftp 115 moira-ureg 779 suucp 4031 hkp 11371
  uucp-path 117 spamd 783 sysrqd 4094 bprd 13720
  nntp 119 omirr 808 sieve 4190 bpdbm 13721
  ntp 123 supfilesrv 871 xtell 4224 bpjava-msvc 13722
  pwdgen 129 rsync 873 f5-iquery 4353 vnetd 13724
  loc-srv 135 swat 901 epmd 4369 bpcd 13782
  netbios-ns 137 ftps-data 989 remctl 4373 vopied 13783
  netbios-dgm 138 ftps 990 ipsec-nat-t 4500 xpilot 15345
  netbios-ssn 139 telnets 992 fax 4557 sgi-cmsd 17001
  imap2 143 imaps 993 hylafax 4559 sgi-crsd 17002
  snmp 161 ircs 994 iax 4569 sgi-gcd 17003
  snmp-trap 162 pop3s 995 distmp3 4600 sgi-cad 17004
  cmip-man 163 customs 1001 mtn 4691 db-lsp 17500
  cmip-agent 164 socks 1080 radmin-port 4899 isdnlog 20011
  mailq 174 proofd 1093 munin 4949 vboxd 20012
60 xdmcp 177 rootd 1094 rfe 5002 dcap 22125
  nextstep 178 rmiregistry 1099 mmcc 5050 gsidcap 22128
  bgp 179 kpop 1109 enbd-cstatd 5051 wnn6 22273
  prospero 191 supfiledbg 1127 enbd-sstatd 5052 binkp 24554
  irc 194 skkserv 1178 sip 5060 asp 27374
  smux 199 openvpn 1194 sip-tls 5061 csync2 30865
  at-rtmp 201 predict 1210 pcrd 5151    
  at-nbp 202 kazaa 1214 aol 5190    
  at-echo 204 rmtcfg 1236 xmpp-client 5222    
  at-zis 206 nessus 1241 xmpp-server 5269    
  qmtp 209 wipld 1300 cfengine 5308    
  z3950 210 xtel 1313 mdns 5353    
  ipx 213 xtelw 1314 noclog 5354    
  imap3 220 lotusnote 1352 hostmon 5355    
  pawserv 345 ms-sql-s 1433 postgresql 5432    
  zserv 346 ms-sql-m 1434 rplay 5555    
  fatserv 347 ingreslock 1524 freeciv 5556    
  rpc2portmap 369 prospero-np 1525 nrpe 5666    
  codaauth2 370 support 1529 nsca 5667    
  clearcase 371 datametrics 1645 amqps 5671    
  ulistserv 372 sa-msg-port 1646 amqp 5672    
  ldap 389 kermit 1649 mrtd 5674    
  imsp 406 groupwise 1677 bgpsim 5675    
  svrloc 427 l2f 1701 canna 5680    
  https 443 radius 1812 ggz 5688    
  snpp 444 radius-acct 1813 x11 6000    
  microsoft-ds 445 msnp 1863 x11-1 6001    
  kpasswd 464 unix-status 1957 x11-2 6002    
  urd 465 log-server 1958 x11-3 6003    
  saft 487 remoteping 1959 x11-4 6004    
90 isakmp 500 cisco-sccp 2000 x11-5 6005