端口的分配

端口概念

      逻辑意义上的端口,即TCP /IP协议中的端口,在报头中占2个字节即16位,范围是从0-65535。端口号用来表示和区别网络中的不同应用程序,即不同的进程。

端口的分类

(1) 公认的端口 0 ~ 1023,这些端口明确绑定某些服务协议,不能随便分配。

  • FTP : 21
  • TELNET : 23
  • SMTP : 25
  • DNS : 53
  • TFTP : 69
  • HTTP : 80
  • SNMP : 161
  • SSH :22

 (2) 注册端口 1024 ~ 49151,松散的绑定一些服务,是公司和其他用户向互联网名称与数字地址分配机构(ICANN)登记的端口号,利用因特网的传输控制协议(TCP)和用户数据报协议(UDP)进行通信的应用软件需要使用这些端口。在大多数情况下,这些应用软件和普通程序一样可以被非特权用户打开

   (3) 用户端使用的端口 (动态或私有端口)49152 ~65535。这类端口号仅在客户进程运行时才动态选择,因此又叫做短暂端口号。被保留给客户端进程选择暂时使用的。也可以理解为,客户端启动的时候操作系统随机分配一个端口用来和服务器通信,客户端进程关闭下次打开时,又重新分配一个新的端口。

端口重定向

一种常见的技术是把一个端口重定向到另一个地址。例如默认的HTTP端口是80,不少人将它重定向到另一个端口,如8080。如果是这样改了,要访问本文就应改用这个地址 http://wwd.3322.net:8080/net/port.htm (当然,这仅仅是理论上的举例)。实现重定向是为了隐藏公认的默认端口,降低受破坏率。这样如果有人要对一个公认的默认端口进行攻击则必须先进行端口扫描。大多数端口重定向与原端口有相似之处,例如多数HTTP端口由80变化而来:81,88,8000,8080,8888。

总结

端口就像一道门,外部可以通过不同的端口和本机上不同服务的进程进行交流。而IP 地址和端口标识了接入互联网主机的唯一 一个进程。

参考

https://blog.csdn.net/a1414345/article/details/72470980






你可能感兴趣的:(network)