通常在 C:\Windows\System32\drivers\etc 中有一个“服务”文件,它列出了正在运行的服务和要使用的端口。
但是这里的“服务”是什么意思呢?它不是“Windows 服务”,运行“services.msc”可以看到。这两个列表不符。
并且,这个“服务”文件的内容可能会过时——没有人来更新它:如果程序之间有某种协议,它们仍然可以通过某些端口进行通信而无需更新“服务”文件;而且,如果某个程序没有运行,某个端口没有被占用,“Windows 服务文件”也不会更新。
那么这个文件是做什么用的?
我可以在哪里找到一些文件?可能是因为文件名太流行了,我在互联网上搜索过,但大多数链接都是关于“Windows 服务”的……而不是这个“Windows 服务文件”……
编辑:
还有一个问题,由于“服务”文件可能已经过时,有没有办法列出所有活动的“服务”?
答案1
此文件告知 Microsoft 编写的服务使用哪个端口,以及希望使用 Windows API 的文件和/或该文件将服务名称转换为端口。这些服务名称由 IETF 定义。
以下是一个例子更改端口以便为另一个 SMTP 服务器腾出空间的指令。
以下是有关服务名称的更多解释:
服务名称 [输入]
以 NULL 结尾的字符串,包含要用于 IPv4 或 IPv6 连接的主机的服务名称或目标端口。
服务名称是端口号的字符串别名。例如,“http”是 Internet 工程任务组 (IETF) 定义的端口 80 的别名,该端口是 Web 服务器为 HTTP 协议使用的默认端口。以下文件中列出了未指定端口号时 servicename 参数的可能值:
%WINDIR%\system32\drivers\etc\services