外国服务器,香港服务器,美国服务器,高防服务器,服务器租用,服务器托管
首页 > 新闻资讯 > 极客学院
服务器端口在操作系统下如何使用
2019-01-11 14:04:28 | 来源:极客网络 | 作者:liuchuang

       在服务器租用后,可能经常会提到端口这个概念,比如服务器上开放了什么端口,关闭了什么端口,等等。事实上,一个有效连接的建立,就是客户端的port与服务器端的port建立连接的过程。而端口在系统中也是有自己的一套划分规则的,下面就讲述一下端口在操作系统下的使用规范。

 Linux操作系统下,系统共定义了65536个可用端口,这些端口又分为两个部分,以1024作为分割点,分别是“只有root用户オ能启用的por"和“客户端的port"。

       1.只有rot用户才能启用的port

       Linux系统下,0-1023端口,都需要以root身份才能启用,这些端口主要用于系统一些常见的通信服务中。一般情况下,这些端口是预留给些预设的服务来使用的,不常用的服务最好不要使用这些预留端口。比如21端口是预留给FIP服务的,23端口是预留给 Telnet服务的,25是预留给E-mail服务的,而80是预留给WWW服务的。我们可以通过查阅 Linux下/etc/ services文件得到端口与服务的对应列表。

       2.客户端的port

       1024以上(包含1024)的端口主要是给客户端软件使用的,这些端口都是由软件随机分配的。例如,通过浏览器访问新浪网,那么浏览器首先会在本地随机分配一个1024以上端口,通过这个端口与新浪网服务器的80端口(即为WWW服务)建立连接,这样就实现了浏览器对网页的访问。

       同时,大于或者等于1024的端口的启用不受root用户的控制。例如,经常使用的 MYSQL数据库,服务的默认端口是3306,而这个端口就是由 MYSQL用户启用的。 Oracle数据库默认的监听端口是1521,也是由 Oracle用户启动的。

      1、如何查看端口状态

      了解端口的概念后,在 Lnux下可以通过相关命令查看端口的状态经常使用的命令是 netstat。

      比如,查看当前服务器的端口监听状态,使用以下命令:

8.png

      从上面的显示可以看出,当前系统中启用的端口有3306、25、80、22,而且都处于监听联机状态。

      那么如何显示已经联机的连接状态呢,使用下面的命令:

7.png

      在上面显示中,“ Local Address"表示服务器内部联机启用的端口," Foreign Address”表示客户端联机启用的端口。从上面的输出可以看出,有一个IP为117.22.122.72的客户端主机通过1850端口与IP为218.30.68.21的服务器的22端口之间建立了联机,其他有类似的含义。

      查看端口对应的是什么服务时,只需执行如下指令:

10.png

      从上面的显示可以看出,当前系统中启用的端口3306、80、22和25对应的服务分别为 mysqld、htpd、shd和 sendmail,而且都处于监听联机状态,同时还可以看到每个服务在系统中对应的PID。

      2、服务与端口的关系

      很多人经常会提到,“这个服务对应什么端口,那个端口跑着什么服务,如何关闭某个端口”等话题,那么服务和端口到底是什么关系呢?其实,服务和端口是一个一一对应的关系,相互依赖,互为树托。没有服务运行也就无所谓端口,端口的开启和关闭也就是软件服务的启动和关闭。例如常见的80端口默认运行的是WWW服务,53端口默认运行的是DNS服务。

       那么是不是这些服务必须运行在默认的端口呢?不是的,例如WWW服务完全可以运行在自己喜欢的端口下,可以指定让WWW服务运行在81端口下。只不过由于浏览器默认在80端口寻找服务,此时如果要访问WWW服务的话,就需要在访问的地址后加上“81”,意思是告诉测览器,这个WWW服务是运行在非默认的81端口下。

       3、端口与系统的安全性

       为了保证系统的安全,一般情况下会在系统中关闭不必要的端口,这是系统管理员经常使用的策略。其实,端口没有所是和软件启用的服务对应的,所以说到底,真正影响安全的并不是端口而是与端口对应的软件。

       4、关闭系统不必要的服务

       Linux下服务的启动和关闭管理有两种方式:第1种方式是直接执行服务启动/关闭脚本,也就是在 /etc/init.d目录下的所有服务脚本,一般通过类似“/etc/ /init.d/ sshd restart”的方式去重启服务;第2种是通过一个超级服务去管理一些常用网络服务,在 Red Hat Linux/ Centos Linux这个超级服务是 xinetd,在 xinetd这个服务下可以管理的服务有Telnet、 vsftpd等,可以通过"/etc/ init d/xinetd restart"来完成对这些网络服务的重启。

       Linux下一般通过 chkconfig命令来判断服务是开启还是关闭状态例如:

11.png

       从上面的输出可以看出,sshd服务在 Linux的2、3、4、5运行级处于开启状态,其他运行级处于关闭状态, sendmail服务的开启/关闭状态与sshd服务相同。

       现在要在 Linux运行级3和5下关闭 sendmail服务,执行如下命:

12.png

       其他服务的开启/关闭与 sendmail类似,不再讲述。 chkconfig还可以増加和删除相应的服务,关于 chkconfig更详细的用法请参看machkconfig。

       知道了如何启动和关闭服务后,下面的工作就是要关闭不必要的系统服务。如何知道哪些是不必要的服务呢?一般情况下,只要系统本身用不到的服务都可以认为是不必要的服务,例如某台 Linux服务器做WwW应用,那么除了htpd服务和系统运行必须的服务外,其他服务都可以关闭。

本文链接:http://www.gkidc.com/news/jkxy/332.html

所属栏目:极客学院

【本文由极客网络发布;内容来源于互联网或原创,转载联系作者并注明出处:投稿请发至邮箱 layton@zhi-yue.net 】

最新新闻

查看更多

相关新闻

查看更多

推荐优选服务器

国内外服务器租用、服务器托管,365天24小时极致服务体验~认准极客网络!
在线咨询
24H在线售后
11082052
24H服务热线
0769-88836624
IDC/ISP/IRCS/增值电信业务经营许可证号:粤B1-20190887
COPYRIGHT © 2010-2018 广东极客网络科技有限公司 版权所有.粤ICP备18157343号
极客网络提供:服务器租用,服务器托管,高防服务器,香港服务器,美国服务器,韩国服务器,日本服务器,台湾服务器,免备案服务器,bgp高防服务器,站群服务器,等外国服务器IDC服务;敬请放心选购!

在线
客服

客服
热线

0769-88836624
7*24小时服务热线

关注
微信

马上推出关注官方微信
顶部