大家好,我是小跳,我来为大家解答以上问题。端口测试,端口很多人还不知道,现在让我们一起来看看吧!
1、在Internet上,各主机之间通过TCP/TP协议发送和接收数据包,各个数据包根据其目的主机IP地址来进行互联网络中的路由选择。
2、可见,把数据包顺利传到目的主机是没有问题的。
3、问题出在哪里呢?我们知道,大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据包传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。
4、 本地操作系统会给那些有需求的进程分配协议端口(Protocol Port),即常说的端口。
5、每个协议端口由一个正整数标识,如80,139,445等。
6、当目的主机接收到数据包后,将根据包文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。
7、 端口其实就是队,操作系统为各个进程分配了不同的队,数据包按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己队的大小。
8、 不光接受数据包的进程需要开启它自己的端口,发送数据包的进程也需要开启端口,这样,数据包中将会标识源端口,以便接受能顺利回传数据包到这个端口。
9、 按照协议类型分类,端口被分为TCP端口和UDP端口两大类,虽然它们都用正整数标识,但这并不会引起岐义,比如TCP的80端口和UDP的80端口,因为数据包都在标明端口的同时,还将标明端口的类型。
10、 从端口的分配来看,端口被分为固定端口和动态端口两大类(一些教程还将极少被用到的高端口划分为第三类:私有端口)。
11、 其中固定端口(0~1023):使用集中式管理机制,即从一个管理机构对端口的指派,这个机构负责发布这些指派。
12、由于这些端口紧绑于一些服务,所以会经常扫描这些端口来判断对方是否开启了这些服务,如TCP的21(ftp),80(http) ,139(netbios),UDP的7(echo),69(tftp)等一些大家熟知的端口;动态端口(1024~49151)。
13、这些端口并不被固定的捆绑于某一服务,操作系统将这些端口动态的分配给各个进程,同一进程两次分配有可能分配到不同的端口。
14、 不过,一些应用程序并不愿意使用操作系统分配的动态端口,它们有其自己的“商标性”端口,如OICQ客户端的4000端口,木马冰河的7626端口等都是因固定而出名的。
本文到此讲解完毕了,希望对大家有帮助。