端口二三事

来源:互联网 发布:网络教育毕业鉴定 编辑:程序博客网 时间:2024/06/07 17:36

  最近在看0-1024熟知端口所对应的内容,然后写了脚本对IANA数据库所提供的端口和服务对应的关系进行了归类,发现如下的端口是值得注意的地方。

  熟知端口老的RFC是1060,最新的RFC是6335,但是最新的里面讲述的是关于服务名的分配原则,命名语法等内容,相关的端口数据部分可以查看IANA提供的在线数据库,网址http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml。

  就在处理0-1024端口的时候,出现的值得注意的地方列举如下。

  总的来说,有些端口已经加入了对SCTP以及DCCP的支持。SCTP和DCCP可以看成分别是对TCP和UDP的改进。但是由于目前应用不是很广,我对此方面了解也不是很多,这里还是主要看一下TCP和UDP的情况。每一个端口都包含TCP和UDP两种传输层的协议,但是该端口的这两种传输层对应的协议名则不一定相同,体现如下。

  关于名字的不同之处,RFC6335在第五部分ServiceNames做了解释。主要包括三种情况(1)、同一个服务的扩展,例如stun和turn;(2)、历史遗留问题如http和www;(3)、名字更新,老的名字不符合语法标准,修改为符合语法标准的情况,例如端口774UDP名字由acmaint_dbd修改为acmaint-dbd。

  端口113,有两个名字ident和auth,但是作为服务的ident只支持113的TCP端口,而auth则支持TCP和UDP。根据RFC6335的描述ident应该是auth 扩展服务之类的。

  端口456,针对该端口的TCP则是macon-tcp,而udp则是macon-udp。其实我可以认为这个就是macon服务,没有必要写成macon-tcp和macon-udp两种形式,因为别的TCP和UDP都支持的协议都没有这么做。之所以这么写应该是历史遗留问题。(这个其实也应该发邮件问一问IANA的)

  端口465,512,513,514,520,623,664,750,773,774,775这些端口的TCP和UDP协议的确对应着不同的服务

  端口270,271,323,324,716只支持TCP或者UDP中的一种

  端口757,在IANA的数据库中没有标注出来,没有说明该端口是没有分配,保留还是已经提供了服务。

  端口1008,这个端口被标注了两次,一次是在1001-1009这个端口范围内,一次是单独标出来的。不知这个是相关工作人员的有意为之,还是失误了。截止这边文章写完的时候,这个问题还是存在的。(757和1008这两种情况在最新数据库中已经被修复了,不得不吐槽IANA的工作效率不高啊,从我发邮件开始到反馈一共过了9天,不过他们也愉快的承认了自己的失误,见下图)



  端口2和3都是compressnet服务;38和256都是rap服务;83和85两个端口都是对应的mit-ml-dev服务;66和150都是SQL服务;570和571都是meter服务。

  端口257就由visa等信用卡组织所制定的信用卡支付协议set。

  因为一个端口的同一种协议对应多个服务名的情况还是较为普遍,就不列出来了。当然还有很多端口没有分配或者保留的情况也不做说明。

  以上就是在处理的时候遇到的一些坑,所谓前人栽树,后人乘凉,希望对你有帮助。

 

0 0