"端口"在计算机网络领域中是个非常重要的概念.它是专门为计算机信息而设计的,它不是硬件,也不同于计算机中的 "插槽".可以说是个 "软端口"如果有需要的话,一台计算机可以有上万个端口.
端口是由计算机的通信协议TCP/IP协议定义的.其中规定,用IP地址和端口做为套接字,它代表TCP连接的一个连接端.一般称为"Socket".具体来说.就是用[IP:端口]来定位一台主机中的进程,可以做这样的比喻,端口相当于两台计算机进程间的大门,可以随便定义,其目的只是为了让两台计算机能够找到对方的进程.计算机就像一座大楼,这个大楼有好多入口<端口>,进到不同的入口中就可以找到不动的公司<进程>如果要和远程主机A的程序通信,那么只要把数据发向[A:端口]就可以实现通信了..
可见,端口与进程是一一对应的,如果某个进程正在等待连接,称之为该进程能够正在监听,那么就会出现与它对应的端口.由此可见,入侵者通过扫描端口,便可以判断出目标计算机有哪些通信进程正在等待连接...
什么是端口?
我们这里所说的端口,不是计算机硬件的I/O端口,而是软件形式上的概念。服务器可以向外提供多种服务,比如,一台服务器可以同时是WEB服务器,也可以是FTP服务器,同时,它也可以是邮件服务器。为什么一台服务器可以同时提供那么多的服务呢?其中一个很主要的方面,就是各种服务采用不同的端口分别提供不同的服务,比如:WEB采用80端口,FTP采用21端口等。这样,通过不同端口,计算机与外界进行互不干扰的通信。
工具提供服务类型的不同,端口分为两种,一种是TCP端口,一种是UDP端口。计算机之间相互通信的时候,分为两种方式:一种是发送信息以后,可以确认信息是否到达,也就是有应答的方式,这种方式大多采用TCP协议;一种是发送以后就不管了,不去确认信息是否到达,这种方式大多采用UDP协议。对应这两种协议的服务提供的端口,也就分为TCP端口和UDP端口。