@计算机网络常用端口

#传输层的端口
计算机之间依照互联网传输层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)或称私有端口, 根据定义,没有端口可以被正式地注册占用。

三、默认的端口列表

#完整的注册端口列表
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
网页上查看有142页,有超过14000行的端口登记信息。支持导出格式有csv, xml, heml, txt
有搜索栏,方便搜索关键字。
#注:
广泛公认的端口,是大部分广泛使用的程序或协议的默认端口,但实际使用时,由于安全等原因,系统管理员可以自行指定端口号。
这里的端口号通常指的是服务器端的端口号。比如网页浏览器会在本机的36406端口和远端的80端口间建立连接。服务端的80端口就是默认的广泛公认的端口。而本机的36406则只是临时端口。
https://zh.wikipedia.org/wiki/TCP/UDP端口列表
wiki这里筛选了常用的端口,约500行。包括一些游戏使用的端口。

四、常用端口列表

第一页
在这里插入图片描述
第二页
在这里插入图片描述

五、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

七、Linux系统的端口列表信息

第一页
在这里插入图片描述
第二页
在这里插入图片描述
第三页
在这里插入图片描述
第四页
在这里插入图片描述

posted @ 2021-05-16 15:55  ଲ一笑奈&何  阅读(223)  评论(0编辑  收藏  举报