而由于物理端口和逻辑端口数量较多,为了对端口进行区分,将每个端口进行了编号,即就是端口号。那么看到这里我们会好奇,有那么多的端口,他们到底是怎么分类的?
分类:
1.按端口号划分
公认端口(Well Known Ports)
0~1023,它们紧密绑定于一些服务,通常这些端口的通讯明确表明了某种服务的协议,如:80端口对应与HTTP通信,21端口绑定与FTP服务,25端口绑定于SMTP服务,135端口绑定与RPC(远程过程调用)服务。
注册端口(Registered Ports)
1024~49151,它们松散的绑定于一些服务,也就是说有许多服务绑定于这些端口,这些端口同样用于其他许多目的,如:许多系统处理端口从1024开始 - 动态和/或私有端口(Dyanmic and /or Private Ports)49152~65535,理论上,不应为服务分配这些端口,通常机器从1024开始分配动态端口。例外:SUN的RPC端口从32768开始。
2.按协议类型划分
按协议类型划分可分为TCP端口、UDP端口、IP端口、ICMP(Internet控制消息协议)。
TCP端口:
即传输控制协议端口,需要在客户端和服务器之间建立连接,这样可以提供可靠的数据传输。常见的包括FTP的21端口,Telnet的23端口,SMTP的25端口,HTTP的80端口。
UDP端口:
即用户数据报协议端口,无需在客户端和服务器端建立连接,安全性得不到保障。常见的DNS的53端口,SNMP(简单网络管理协议)的161端口,QQ使用的8000和4000端口。
保留端口:
UNIX有保留端口号的概念,只有超级用户特权的进程才允许给它自己分配一个保留端口号。这些端口号介于1~1023之间,一些应用程序将它作为客户与服务器认证的一部分。
那怎么打开和关闭端口呢?
关闭端口号:iptables -A INPUT -p tcp --drop 端口号-j DROP
iptables -A OUTPUT -p tcp --dport 端口号-j DROP
打开端口号:iptables -A INPUT -ptcp --dport 端口号-j ACCEPT
以下是linux打开端口命令的使用方法。
nc -lp 23 &(打开23端口,即telnet)
netstat -an | grep 23 (查看是否打开23端口)
要注意的一点是,Linux打开端口命令打开的每一个端口,都需要有与之对应的监听程序才可以。
上一个教程:Linux常用的端口,你都知道吗?
下一个教程:Linux系统下关闭端口的三种方法你都知道吗?