DESCRIPTION(描述)

services 是一个普通的 ASCII 码文件, 它在 internet 服务的友好原文名以及这些服务预先分配的端口和协议类型之间提供了映射. 每个联网程序必须查找该文件以获取其服务的端口号(和协议). C 库例程 getservent(3), getservbyname(3), getservbyport(3), setservent(3), 和 endservent(3) 支持由程序查询该文件.

端口号由 IANA(Internet Assigned Numbers Authority) 分配, 他们当前的工作是分配端口号时, 指定 TCP 和 UDP 协议. 这样, 大多数记录会包括两条子记录, 即使只是 TCP 的服务也是如此

端口号在 1024 之下的(也称作'低编码'端口)只能由 root (参见 bind(2),tcp(7),udp(7).) 绑定. 这样连接到低编码端口的客户可信任运行在该端口上的服务是标准的实现, 而不是由某台机器的用户运行的无聊的服务.由 IANA 确定的众所周知的端口号通常只在 root 的控制范围之内

services 文件中出现的一条服务记录并不表示该服务当前在机器上运行.参见 inetd.conf(5) 以获知提供的Internet服务的配置.注意不是所有联网服务都由 inetd(8) 启动,因而也不会出现在 inetd.conf(5) 之中. 特别地,news (NNTP)和mail (SMTP)服务程序通常由系统引导脚本初始化.

services 文件所存放的位置由 /usr/include/netdb.h 中的 _PATH_SERVICES 定义. 它通常设为 /etc/services.

每行描述了一个服务,其格式如下:

服务名 端口/协议 [别名 ...] 这里的
服务名
是给服务所起的可供查找的友好的名字.它是区分大小写的.通常,客户端程序都以 服务名 命名.
端口
为该服务所用的端口号(十进制格式).
协议
为所使用的协议类型.该字段应与 protocols(5) 文件中的一条记录相匹配.典型的值包括 tcpudp.
别名
可以空缺,或者是以tab分隔的该服务的其他名字的列表(不过请查看下面的BUGS章节).同样, 这些名字也是区分大小写的.

可以使用空格或者tab分隔这些字段.

注释以hash标识(#)开头,一直到该行末结束.空行可跳过.

服务名 必须是该文件的第一列,因为其前面的空格不会删去. 服务名 可以为任何可打印的字符,包括空格和tab,但是,应该使用字符的保守选择来最低限度地减少操作中的问题.例如:a-z,0-9,和连字符(-)看上去就是一个合理的选择.

不匹配该格式的行不应该在该文件中出现.(当前情况下, getservent(3),getservbyname(3),getservbyport(3) 可以忽略它们.不过,不应该依靠这种方法.)

为了向后兼容,在 端口 号和 协议 名之间的斜杠(/)实际可以为斜杠或者是逗号(,).在现代的安装中使用逗号是落后的.

该文件也可以通过使用网络级命名服务如黄页/NIS(Yellow Pages/NIS)或BIND/Hesiod来在一个网络中发布.

一个 services 的样本文件看上去如下:

netstat         15/tcp
qotd 17/tcp quote
msp 18/tcp # message send protocol
msp 18/udp # message send protocol
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
ftp 21/tcp
# 22 - unassigned
telnet 23/tcp

BUGS

最大只能有35个别名,这是由 getservent(3) 代码的写入方式决定的.

BUFSIZ (当前为1024)个字符更长的行, getservent(3),getservbyname(3),andgetservbyport(3) 会忽略掉. 不过,这也会导致错过下一行.

FILES(相关文件)

/etc/services
Internet网络服务列表
/usr/include/netdb.h
_PATH_SERVICES 的定义 

services - Internet 网络服务列表的更多相关文章

  1. 关于win10系统安装VMware12Pro后,win10系统的 控制面板\网络和 Internet\网络连接\更改适配器选项卡中 没有虚拟网卡VMnet1和VMnet8图标,该如何把他们显示出来呢?

    安装VMware12Pro后,PC主机通过命令行:ipconfig/all ,查看发现没有VMnet1和VMnet8. 然后我首先尝试打开VMware12Pro的虚拟网络编辑器: 然后先点击" ...

  2. Internet 网络协议族

    1.linux目前支持多种协议族,每个协议族用一个net_porto_family结构实例来表示,在初始化时,会调用sock_register()函数初始化注册到net_families[NPROTO ...

  3. 配置Linux数据转发(给其他接口转发一个接口的internet网络)

    配置Linux数据转发 [主机]第一步开启转发net.ipv4.ip_forward = 1echo "1" > /proc/sys/net/ipv4/ip_forward第 ...

  4. linux 获取命令或配置文件的帮助信息 man、whatis、apropos、--help

    man /usr/bin/man man [命令或配置文件]获取帮助信息 man ls /-lman date/-d man services //不需要添加绝对路径/etc/services NAM ...

  5. linux网络相关配置文件

    linux系统一般来说分为两大类:1.RedHat系列:Redhat.Centos.Fedora等:2.Debian系列:Debian.Ubuntu等. linux系统中,TCP/IP网络是通过若干个 ...

  6. linux网络配置相关文件

    网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0.eth1...... ethX.而普通猫和ADSL的接口 ...

  7. 网络学习笔记:TCP/IP连网和Internet

    1.网关 由硬件和软件组成,实现不同网段间的数据传送. 常用路由器充当网关. 网关通常维护一份路由表,但只有少量的编址信息.它用这些信息把数据转发到知道更多信息的网关. 组成互联网骨干的网关称为核心网 ...

  8. windows 10 超级优化提速 附系统服务列表纯净

    如图,本机安装了vs2017 office2016 迅雷.谷歌浏览器,不建议安装其它任何软件.vs2017为开发软件,用于编程,一般用户用不到. 如果想安装其它的软件,建议优先使用绿色版本的. 下载服 ...

  9. [计算机、网络相关历史]unix简史

    本文2001年由台湾“网络农夫”所写,其人生平不祥,此文受鸟哥大力推崇,两人应该相识.文章写得很不错,应该是查了很多资料整理而成的,美中不足的是好多语句不通顺,国考语文绝对不及格,哈哈. 0.我的准备 ...

随机推荐

  1. MySQL --13 主从复制

    目录 一.主从复制简介 二.主从复制原理 三.主从复制搭建实战 四.主从复制基本故障处理 五.延时从库 企业案例: 模拟环境 一.主从复制简介 复制是 MySQL 的一项功能,允许服务器将更改从一个实 ...

  2. rabbitmq 从channal获得socket

    std::string queue_name = "hello100"; AmqpClient::Channel::ptr_t channel = AmqpClient::Chan ...

  3. phpstorm ftp不能连接服务器

    环境: ubuntu phpstorm 问题一. 服务器ftp功能没有开启 解决方法:在服务器上安装 ftp 服务 https://i.cnblogs.com/EditPosts.aspx?posti ...

  4. Web项目改名的带来的404not found问题

    为了保留上一次编辑的billsys web项目,把项目复制一份到同一个工作空间后,对原来项目名进行了重命名,如右图: 结果再去访问,一直报404错误 解决思路如下: 其实仔细观察,会在项目部署界面发现 ...

  5. .NET Core 通过 Ef Core 操作 Mysql

    1.运行环境 开发工具:Visual Studio 2017 JDK版本:.NET Core 2.0 项目管理工具:nuget 2.GITHUB地址 https://github.com/nbfujx ...

  6. HDU - 6601 Keen On Everything But Triangle 主席树

    Keen On Everything But Triangle 感觉最近多校好多主席树的亚子,但是本人菜得很,还没学过主席树,看着队友写题就只能划水,\(WA\)了还不能帮忙\(debug\),所以深 ...

  7. php理解非对称SSL加密解密、验证及签名

    加密方式分为对称加密和非对称加密,对称加密只使用一个秘钥,加密和解密都使用该秘钥:非对称加密则使用一对秘钥,使用公钥加密,私钥解密. 需要通过原生的openssl_public_encrypt加密,o ...

  8. LintCode之合并排序数组

    题目描述: 我的代码: public class Solution { /* * @param A: sorted integer array A * @param B: sorted integer ...

  9. HTMLTestRunner优化:带截图、饼图、失败重跑

    github地址:https://github.com/yoyoketang/sele_project_th9

  10. DataTable删除行Delete与Remove的问题

    DataTable删除行使用Delete后,只是该行被标记为deleted,但是还存在,用Rows.Count来获取行数时,还是删除之前的行数,需要使用datatable.AcceptChanges( ...