1. TCP和UDP
- TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。
- UDP(User Data Protocol,用户数据报协议)非连接的协议,传输数据之前源端和终端不建立连接,尽快交付,不保证可靠交付。
TCP就好比打电话: 可靠,相对消耗资源也更多.
拨通电话,且对方接听了电话,才算建立连接成功,这时候就可以聊天了。TCP数据才开始发送。
电话拨通了,但对方没接,建立连接失败;需要重拨...
若中途掉线,即连接断开,聊天也中断了。连接断开;需要重拨...UDP就好比发送短消息: 快速节能但不可靠.
只管发出去,不管对方能不能看到。更不会考虑对方是否有拦截短信等软件。
对方没带手机,手机没电关机...与我无关,我已发送完成。
2. 端口号的分配
端口号基于三个范围以各种方式分配。这些范围的差异用途描述于[RFC6335]。根据[RFC6335]的8.1.2节:
- 系统端口:(0-1023)是由“IETF审查”或“IESG批准”程序分配[RFC8126]。
- 用户端口:(1024-49151)由IANA使用“IETF审核”流程分配,根据“IESG批准”流程或“专家审核”流程[RFC6335]。
- 动态端口:(49152-65535)或称私有端口, 根据定义,没有端口可以被正式地注册占用。
3. 广泛公认的端口列表
完整的注册端口列表,最近更新时间: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则只是临时端口。
4. 常用端口列表
端口 | 服务 | 描述 |
---|---|---|
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 |
5. 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个端口信息
6. Linux系统nftables防火墙的端口映射
ttps://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 |