端口的基础

1.端口

  端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。

  在计算机中,常见的虚拟端口有:

  • HTTP:www服务。(端口号:80)
  • DHCP:动态主机配置协议(动态ip分配):服务器端 (67) 客户机端(68)
  • SMTP:简单邮件传输协议,邮件发送(25)
  • POP3:邮件接收协议(110)
  • telent: 远程登录服务 (23)
  • FTP:文件传输协议   控制端口(21) 数据端口(主动模式为20,被动由服务端和客户端而定)
  • TFTP:简单文件传输协议(69)
  • DNS:域名服务器(53)
  • NNTP:网络新闻传输协议(119)
  • SNMP:简单网络管理协议(161)

2.端口号

  所谓的端口,是通过端口号来标记的,就好像是门牌号一样,客户端可以通过ip地址找到对应的服务器端,但是服务器端是有很多端口的,每个应用程序对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。为了对端口进行区分,将每个端口进行了编号,这就是端口号。

3.端口的分类

  1. 公认端口(Well Known Ports):范围从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。
  2. 注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。
  3. 动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始

4.查看端口

在cmd终端输入命令:netstat -ano 可查看个端口的信息

5.端口的实现

举个例子:

  

  假设PC1的IP为192.168.1.2,微信通信的端口为10,PC3的IP为192.168.1.4,微信通信端口为11,如果PC1使用微信给PC3发送消息“hello world!”,则必须要有上图文本框的Dest ip(目标IP)、Dest port(目标端口)、Content(内容)三部分。首先PC1发出信息到路由器,路由器通过解析Dest ip为192.168.1.4发送给PC3,PC3再看端口为11给微信,接收到“hello world!”内容。如果PC3想回复信息,把对应的信息更改就行。

原文地址:https://www.cnblogs.com/c-pyday/p/11303919.html