Manpages

NAME(名 称 )

services - Internet 网 络 服 务 列 表

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 的 定 义

SEE ALSO(另 见 )

getservent(3), getservbyname(3), getservbyport(3), setservent(3), endservent(3), protocols(5), listen(2), inetd.conf(5), inetd(8). 分 配 号 码 RFC,最 新 的 RFC 1700,(AKA STD0002) 黄 页 服 务 的 指 南

BIND/Hesiod服 务 的 指 南

[中 文 版 维 护 人 ]

riser <boomer [AT] ccidnet.com>

[中 文 版 最 新 更 新 ]

2000/11/01

《 中 国 linux论 坛 man手 册 页 翻 译 计 划 》 :

http://cmpp.linuxforum.net

本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh