理解 Linux 中的 /etc/services 文件

/etc/services 文件介绍

Posted by Jeremy Song on 2023-02-10
Estimated Reading Time 2 Minutes
Words 576 In Total
Viewed Times

这篇文章将帮助你了解 Linux 中 /etc/services 文件,包括它的内容,格式以及重要性。

Internet 守护程序(ineted)是 Linux 世界中的重要服务。它借助 /etc/services 文件来处理所有网络服务。在本文中,我们将向你介绍这个文件的内容,格式以及它对于 Linux 系统的意义。

/etc/services 文件包含网络服务和它们映射端口的列表。inetdxinetd 会查看这些细节,以便在数据包到达各自的端口或服务有需求时,它会调用特定的程序。

作为普通用户,你可以查看此文件,因为文件一般都是可读的。要编辑此文件,你需要有 root 权限。

1
2
$ ll /etc/services
-rw-r--r--. 1 root root 670293 Jun 7 2013 /etc/services

/etc/services 文件格式

1
service-name    port/protocol   [aliases..]  [#comment]

最后两个字段是可选的,因此用 [ ] 表示。

其中:

  • service-name 是网络服务的名称。例如 telnetftp 等。
  • port/protocol 是网络服务使用的端口(一个数值)和服务通信使用的协议(TCP/UDP)。
  • alias 是服务的别名。
  • comment 是你可以添加到服务的注释或说明。以 # 标记开头。

/etc/services 文件示例

1
2
3
4
5
6
7
# 每行描述一个服务,形式如下:
#
# service-name port/protocol [aliases ...] [# comment]
tcpmux 1/tcp # TCP port service multiplexer
rje 5/tcp # Remote Job Entry
echo 7/udp
discard 9/udp sink null

在这里,你可以看到可选的最后两个字段的用处。 discard 服务的别名为 sinknull

Windows 中的 services 文件

顺便扩展一下, Windows 系统中也有一个 services 文件, 该文件的位置是在:

C:\Windows\System32\drivers\etc\services

services 文件内容举例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Copyright (c) 1993-2004 Microsoft Corp.
#
# This file contains port numbers for well-known services defined by IANA
#
# Format:
#
# <service name> <port number>/<protocol> [aliases...] [#<comment>]
#

echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users #Active users
systat 11/udp users #Active users
daytime 13/tcp
daytime 13/udp
qotd 17/tcp quote #Quote of the day
qotd 17/udp quote #Quote of the day
chargen 19/tcp ttytst source #Character generator
chargen 19/udp ttytst source #Character generator
ftp-data 20/tcp #FTP, data
ftp 21/tcp #FTP. control

从文件内容可以看出来, Windows 和 Linux 的 services 文件格式是一样的, 并且其作用也是一样的。


欢迎关注我的公众号 须弥零一,跟我一起学习IT知识。


如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !