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. vs2005下opengl(glut)的配置记录

    摘自:http://blog.csdn.net/joeblackzqq/article/details/6956959 首先参考了网上的安装配置环境部分:http://blog.csdn.net/Id ...

  2. 教你建立SQL数据库的表分区

    1)新建一个数据库 2)添加几个文件组 3)回到“常规”选项卡,添加数据库文件 看到用红色框框起来的地方没?上一步中建立的文件组在这里就用上了.再看后面的路径,我把每一个文件都单独放在不同的磁盘上,而 ...

  3. PHP curl_multi_getcontent函数

    curl_multi_getcontent — 如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流 说明 string curl_multi_getcontent ( r ...

  4. Git 中的一些其他常用命令

    1.查看提交的历史版本(git log) 我们可以使用 git log 命令来查看提交的历史版本. 默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面.每个版本都有 ...

  5. Delphi读取和写入utf-8编码格式的文件

    读取UTF-8格式的文件内容 function LoadUTF8File(AFileName: string): string; var ffileStream:TFileStream; fAnsiB ...

  6. set实现数组去重后是对象,这里转化为数组

    ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如: let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3]; ...

  7. XX-net https://github.com/XX-net/XX-Net

    XX-net https://github.com/XX-net/XX-Net

  8. selenium2-java 浏览器操作常用命令语法

    WebDriver driver = new ChromeDriver(); xpath定位:driver.findElement(By.xpath("//div[@id='register ...

  9. Linux查看文件大小5个常用命令

    1. 前言 Linux 系统有非常好用的命令,功能也非常丰富,如果你对命令行工具熟悉,可以非常高效率完成维护工具.本文主要介绍Linux系统中,用于查看文件大小的命令. Linux 查看文件大小5个常 ...

  10. Python中的内置函数和匿名函数

    1. 内置函数 print用法 def print(self, *args, sep=' ', end='\n', file=None): # known special case of print ...