查看“/etc/services”的源代码
←
/etc/services
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
=== 作用 === /etc/services文件保存了服务和端口的对应关系。 但是通常服务的配置文件里会自行定义端口。 那么两者间是什么关系呢?事实上,服务最终采用的方案仍然是自己的端口定义配置文件。 但是/etc/services的存在有几个意义: 1、如果每一个服务都能够严格遵循该机制,在此文件里标注自己所使用的端口信息,则主机上各服务间对端口的使用,将会非常清晰明了,易于管理。 2、在该文件中定义的服务名,可以作为配置文件中的参数使用。 例如:在配置路由策略时,使用"www"代替"80",即为调用了此文件中的条目“www 80” 3、且当有特殊情况,需要调整端口设置,只需要在/etc/services中修改www的定义,即可影响到服务。 例如:在文件中增加条目“privPort 55555”,在某个私有服务中多个配置文件里广泛应用,进行配置。 当有特殊需要,要将这些端口配置改为66666,则只需修改/etc/services文件中对应行即可。 基本上是个标准,但是不是强制的。 推荐的做法是在/etc/services里面加入新端口的定义或是使用已有的端口的定义,然后在监听的时候使用从/etc/servies里面得到的端口定义。 这样和其他程序有没有冲突,一目了然。而且一旦需要调整和重新分配端口的时候也容易。 比如db2监听的是db2cdb2inst1这个端口名称,至于具体这个端口是多少(通常是50000),是定义在/etc/services里的,而且可以自由调整,比如改成60000,那么下次启动db2的时候就是监听60000端口 1)作用 /etc/services文件是记录网络服务名和它们对应使用的端口号及协议。 2)格式 文件中的每一行对应一种服务,它由4个字段组成,中间用TAB或空格分隔,分别表示“服务名称”、“使用端口”、“协议名称”以及“别名”。 服务名 "tab" 端口号/协议名 “tab” 别名 kermit 1649/udp l2tp 1701/tcp l2f l2tp 1701/udp l2f h323gatedisc 1718/tcp 3)应用 很多的系统程序要使用这个文件。 如果每一个服务都能够严格遵循该机制,在此文件里标注自己所使用的端口信息,则主机上各服务间对端口的使用,将会非常清晰明了,易于管理; 在该文件中定义的服务名,可以作为配置文件中的参数使用。例如:在配置路由策略时,使用"www"代替"80",即为调用了此文件中的条目“www 80”; 且当有特殊情况,需要调整端口设置,只需要在/etc/services中修改www的定义,即可影响到服务。 例如:在文件中增加条目“privPort 55555”,在某个私有服务中多个配置文件里广泛应用,进行配置。当有特殊需要,要将这些端口配置改为66666,则只需修改/etc/services文件中对应行即可。 在应用程序中可以通过服务名和协议获取到对应的端口号,通过在该文件注册可以使应用程序不再关心端口号。 4)端口分配 Linux系统的端口号的范围为0–65535,不同范围有不同的意义。 0 不使用 1--1023 系统保留,只能由root用户使用 1024---4999 由客户端程序自由分配 5000---65535 由服务器端程序自由分配 4、如何使应用程序不再关心服务所使用的端口号? 1)确定服务程序名称,协议,端口号 2)在/etc/services中配置1)中信息 3)应用程序可以不直接使用端口号,通过函数getservbyname("server","tcp")获取端口号。 4)如果服务想更改端口号只要更改/etc/services中的端口号就可以了,应用程序不需要做任何更改。 注:同时可以通过函数getservbyport(htons(50),“tcp”)获取对应端口和规约上的服务名。 使用这两个系统函数需要包含头文件:#include <netdb.h>
返回至
/etc/services
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
Spring Boot 2 零基础入门
Spring Cloud
Spring Boot
设计模式之禅
VUE
Vuex
Maven
算法
技能树
Wireshark
IntelliJ IDEA
ElasticSearch
VirtualBox
软考
正则表达式
程序员精讲
软件设计师精讲
初级程序员 历年真题
C
SQL
Java
FFmpeg
Redis
Kafka
MySQL
Spring
Docker
JMeter
Apache
Linux
Windows
Git
ZooKeeper
设计模式
Python
MyBatis
软件
数学
PHP
IntelliJ IDEA
CS基础知识
网络
项目
未分类
MediaWiki
镜像
问题
健身
国债
英语
烹饪
常见术语
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息