在Linux操作系统下,系统共定义了65536个可用的端口,这些端口又分为两部分,以1024作为分割点,分别是“只有root用户才能启用的端口”
“客户端的端口”:
1.只有root用户才能启用的端口
Linux系统下,对于0-1023端口,都需要root身份才能启用,这些端口主要用于系统一些常见的通信服务中。一般情况下,这些端口是
预留给一些预设的服务来使用的,不经常使用的服务最好不要使用这些预留端口。比如,21端口是预留给ftp服务的,23端口是预留给
telnet服务的,25是预留给mail服务的,而80端口是预留给www服务的。可以通过查阅Linux下/etc/services文件得到端口与服务的对应
列表。
2.客户端的端口
1024以上(包含1024)的端口主要是给客户端软件使用的,这些端口都是由软件随机分配的。例如,如果通过浏览器访问新浪网,那么
浏览器首先在本地随机分配一个1024以上的端口,通过这个端口与新浪网服务器80端口(即www服务)建立连接,这样就实现了浏览器对网页
的访问。
大于或等于1024的端口的启用不受root用户的控制。例如,对于经常使用的MySQL数据库,服务的默认端口是3306,而这个端口就是由
MySQL用户启用的。Oracle数据库的默认端口是1521,也是由Oracle用户启动的。
3.服务与端口的关系
服务和端口是一个一一对应的关系,相互依赖,互为衬托。没有服务运行也就无所谓端口,端口的开启和关闭也就是软件服务的启动和关闭
。例如,常见的80端口默认运行的是www服务,53端口默认运行的是DNS服务。
这些服务并不是一定要运行在默认的端口下。例如,www服务完全可以运行在自己喜欢的端口下,可以指定让其运行在81端口下。只不过
由于浏览器默认是在80端口寻找服务,此时如果访问www服务,就需要在访问的地址后加上“:81”,意思是高速浏览器,这个www服务是
运行在非默认的81端口下。
4.端口与系统的安全性
为了保证系统的安全,一般情况下会在系统关闭不必要的端口。其实,端口没有所谓的安全性,因为端口是和软件启用的服务对应的,所以
真正影响安全的并不是端口,而是与端口对应的软件。
如何查看端口的状态:
要查看当前服务器的端口监听状态,可以使用以下命令 netstat -tunl
要显示已经联机的链接状态使用命令 netstat -tun
要查看端口对应的是什么服务 netstat -antlp
查看服务状态
6.Linux一般通过chkconfig命令来判断服务是开启还是关闭状态,例如 chkconfig --list sshd
“客户端的端口”:
1.只有root用户才能启用的端口
Linux系统下,对于0-1023端口,都需要root身份才能启用,这些端口主要用于系统一些常见的通信服务中。一般情况下,这些端口是
预留给一些预设的服务来使用的,不经常使用的服务最好不要使用这些预留端口。比如,21端口是预留给ftp服务的,23端口是预留给
telnet服务的,25是预留给mail服务的,而80端口是预留给www服务的。可以通过查阅Linux下/etc/services文件得到端口与服务的对应
列表。
2.客户端的端口
1024以上(包含1024)的端口主要是给客户端软件使用的,这些端口都是由软件随机分配的。例如,如果通过浏览器访问新浪网,那么
浏览器首先在本地随机分配一个1024以上的端口,通过这个端口与新浪网服务器80端口(即www服务)建立连接,这样就实现了浏览器对网页
的访问。
大于或等于1024的端口的启用不受root用户的控制。例如,对于经常使用的MySQL数据库,服务的默认端口是3306,而这个端口就是由
MySQL用户启用的。Oracle数据库的默认端口是1521,也是由Oracle用户启动的。
3.服务与端口的关系
服务和端口是一个一一对应的关系,相互依赖,互为衬托。没有服务运行也就无所谓端口,端口的开启和关闭也就是软件服务的启动和关闭
。例如,常见的80端口默认运行的是www服务,53端口默认运行的是DNS服务。
这些服务并不是一定要运行在默认的端口下。例如,www服务完全可以运行在自己喜欢的端口下,可以指定让其运行在81端口下。只不过
由于浏览器默认是在80端口寻找服务,此时如果访问www服务,就需要在访问的地址后加上“:81”,意思是高速浏览器,这个www服务是
运行在非默认的81端口下。
4.端口与系统的安全性
为了保证系统的安全,一般情况下会在系统关闭不必要的端口。其实,端口没有所谓的安全性,因为端口是和软件启用的服务对应的,所以
真正影响安全的并不是端口,而是与端口对应的软件。
如何查看端口的状态:
要查看当前服务器的端口监听状态,可以使用以下命令 netstat -tunl
要显示已经联机的链接状态使用命令 netstat -tun
要查看端口对应的是什么服务 netstat -antlp
查看服务状态
6.Linux一般通过chkconfig命令来判断服务是开启还是关闭状态,例如 chkconfig --list sshd