Bootstrap

网络技术领域端口号备忘录,受益匪浅 !

你好,这里是网络技术联盟站,我是瑞哥。

网络端口是计算机网络中用于区分不同应用程序和服务的标识符。每个端口号都是一个16位的数字,范围从0到65535。网络端口的主要功能是帮助网络设备(如计算机和服务器)确定数据包应该发送到哪个应用程序。

端口号真的很多,但是作为网络工程师和运维工程师,我们其实不需要记住全部的端口号,事实上也没有人能记住那么多,我们只需要记住常见的、重要的端口号即可。

0-1023:知名端口号

端口号服务/协议解释
20FTP数据传输用于文件传输协议(FTP)的数据传输,通常与端口21一起使用。
21FTP控制用于FTP的控制命令。
22SSH用于安全外壳协议(SSH),提供加密的远程登录服务,常用于安全的系统管理和文件传输。
23Telnet用于Telnet协议,不安全的远程登录服务,因安全性较差,已被SSH替代。
25SMTP用于简单邮件传输协议(SMTP),用于发送电子邮件。
53DNS用于域名系统(DNS),将域名解析为IP地址。
67DHCP (服务器)用于动态主机配置协议(DHCP)服务器端,分配IP地址。
68DHCP (客户端)用于DHCP客户端接收IP地址。
69TFTP用于简单文件传输协议(TFTP),用于小文件的传输,常用于网络设备配置。
80HTTP用于超文本传输协议(HTTP),传输网页数据。
110POP3用于邮局协议版本3(POP3),用于接收电子邮件。
119NNTP用于网络新闻传输协议(NNTP),用于新闻组文章的传输。
123NTP用于网络时间协议(NTP),用于同步网络设备时间。
143IMAP用于互联网消息访问协议(IMAP),用于接收和管理电子邮件。
161SNMP用于简单网络管理协议(SNMP),用于网络设备管理和监控。
162SNMP Trap用于SNMP Trap消息的发送,设备异常时通知管理系统。
179BGP用于边界网关协议(BGP),用于互联网路由。
194IRC用于互联网中继聊天(IRC),实现实时聊天。
389LDAP用于轻量目录访问协议(LDAP),用于访问和管理目录服务。
443HTTPS用于HTTP安全协议(HTTPS),加密的网页数据传输。
445Microsoft-DS用于Microsoft Directory Services(如SMB协议)
465SMTPS用于安全SMTP,邮件传输加密。
514Syslog用于系统日志(Syslog)协议,日志传输。
515LPD用于线路打印机守护程序(LPD),打印服务。
993IMAPS用于安全IMAP,邮件接收加密。
995POP3S用于安全POP3,邮件接收加密。
1080SOCKS用于SOCKS代理协议。

1024-49151:注册端口号

端口号服务/协议解释
1433Microsoft SQL Server用于Microsoft SQL Server数据库服务。
1434Microsoft SQL Monitor用于监控Microsoft SQL Server实例。
1723PPTP用于点对点隧道协议(PPTP),用于VPN连接。
1812RADIUS (认证)用于远程认证拨入用户服务(RADIUS)认证。
1813RADIUS (计费)用于RADIUS计费。
3306MySQL用于MySQL数据库服务。
3389RDP用于远程桌面协议(RDP),远程访问Windows桌面。
5432PostgreSQL用于PostgreSQL数据库服务。
5900VNC用于虚拟网络计算(VNC),远程桌面访问。
5984CouchDB用于CouchDB数据库服务。
6379Redis用于Redis数据库服务。
8080HTTP Proxy用于HTTP代理服务器或Web服务器的备用端口。
8443HTTPS Proxy用于HTTPS代理服务器或Web服务器的备用端口。

49152-65535:动态/私有端口号

端口号服务/协议解释
49152-65535动态分配操作系统动态分配的临时端口,用于客户端连接。这些端口号不固定,由操作系统分配以便于短期使用。

TCP/IP 模型中的端口号

应用层

在应用层,常见的端口号包括:

端口号服务/协议解释
80HTTP用于传输网页数据。
443HTTPS用于加密的网页数据传输。
21FTP用于文件传输协议。
22SSH用于安全远程登录。
25SMTP用于发送电子邮件。

传输层

在传输层,常见的协议包括TCP和UDP,它们通过端口号进行通信:

端口号服务/协议解释
20, 21FTP用于文件传输。
53DNS用于域名解析。
67, 68DHCP用于IP地址分配。
123NTP用于时间同步。

网络层

在网络层(第三层)中,主要涉及的是IP地址、路由选择和包交换等功能,传统上不直接使用端口号。然而,网络层协议与端口号有间接的关联,因为端口号通常与传输层(如TCP和UDP)相关联,而传输层协议则封装在网络层协议(如IP)中。

尽管如此,有些网络层协议使用特定的协议号,这些号类似于端口号的功能,用于标识不同的上层协议。例如,IPv4报头中有一个8位的“协议”字段,用来指示封装在IP包中的上层协议。

下面是一些常见的网络层协议及其协议号:

协议号协议解释
1ICMPInternet Control Message Protocol,用于发送错误消息和操作信息。
2IGMPInternet Group Management Protocol,用于管理多播组成员。
6TCPTransmission Control Protocol,用于可靠的端到端通信。
17UDPUser Datagram Protocol,用于无连接的通信。
41IPv6用于IPv6封装。
47GREGeneric Routing Encapsulation,用于封装多种网络层协议。
50ESPEncapsulating Security Payload,用于IPsec中的加密和身份验证。
51AHAuthentication Header,用于IPsec中的身份验证。
89OSPFOpen Shortest Path First,用于内部网关路由协议。
132SCTPStream Control Transmission Protocol,用于消息传递的多流控制。

虽然这些协议号不完全等同于端口号,但它们在网络层起到了类似的区分作用,帮助确定IP包的内容和处理方式。

数据链路层

数据链路层(第二层)主要处理物理地址(如MAC地址)和帧传输,不涉及传统意义上的端口号。数据链路层的主要功能包括封装数据成帧、错误检测与纠正、介质访问控制等。尽管如此,数据链路层使用了一些特定的协议类型字段,这些字段在某种程度上类似于端口号,区分不同的协议和服务。

以下是一些常见的数据链路层协议及其类型字段(以太网类型字段):

类型字段 (十六进制)协议解释
0x0800IPv4Internet Protocol version 4,用于封装IPv4数据包。
0x0806ARPAddress Resolution Protocol,用于IPv4地址和MAC地址的映射。
0x86DDIPv6Internet Protocol version 6,用于封装IPv6数据包。
0x8100VLAN-tagged frame (IEEE 802.1Q)用于标识虚拟局域网(VLAN)帧。
0x8847MPLS unicastMultiprotocol Label Switching,用于单播数据流的标签交换。
0x8848MPLS multicast用于多播数据流的标签交换。
0x8863PPPoE Discovery StagePoint-to-Point Protocol over Ethernet,用于发现阶段。
0x8864PPPoE Session Stage用于会话阶段。
0x888EEAP over LAN (IEEE 802.1X)用于以太网上的扩展认证协议。
0x88A8Provider Bridging (IEEE 802.1ad)用于提供商桥接(Q-in-Q)。
0x88CCLLDPLink Layer Discovery Protocol,用于链路层发现。
0x8906Fibre Channel over Ethernet (FCoE)用于以太网上的光纤通道。
0x8914FCoE Initialization Protocol用于光纤通道初始化协议。
0x9000Ethernet Configuration Testing Protocol用于以太网配置测试。

这些类型字段在数据链路层帧的头部,用于指示封装在帧中的协议类型。虽然这些字段不是端口号,但它们在数据链路层起到了类似的区分作用。

端口号与安全

端口扫描技术

端口扫描是网络安全中的一个重要概念。以下是几种常见的端口扫描类型:

  • TCP连接扫描:尝试与目标端口建立完整的TCP连接。
  • SYN扫描:发送SYN包,看目标端口是否响应。
  • FIN扫描:发送FIN包,看目标端口是否响应。
  • UDP扫描:发送UDP包,看目标端口是否响应。

防火墙和端口过滤

防火墙用于监控和控制进出网络的数据流。防火墙规则可以基于端口号来允许或阻止流量,从而保护网络安全。例如,可以关闭不必要的端口来减少攻击面。

;