Windows drivers \ etc \ services文件有什么作用?


8

通常,在C:\ Windows \ System32 \ drivers \ etc中有一个“服务”文件,其中列出了正在运行的服务和要使用的端口。

但是,“服务”一词在这里是什么意思?它不是“ Windows服务”,运行“ services.msc”时可以看到。这样的两个列表不相符。

而且,这种“服务”文件的内容可能已经过时了-没有人可以对其进行更新:如果程序之间达成协议,程序仍然可以通过某些端口进行通信而无需更新“服务”文件;同样,如果某些程序未运行,未占用某些端口,则“ Windows服务文件”也不会更新。

那么这个文件是做什么用的呢?

我在哪里可以找到一些文件?也许是因为文件名很流行,我在Internet上进行了搜索,但是大多数链接都是关于“ Windows Services”的...不是这个“ Windows Services File”的...

编辑:

还有一个问题,由于“服务”文件可能已过时,是否有办法列出所有活动的“服务”?

Answers:


7

该文件告诉Microsoft编写的服务要使用哪个端口,以及希望使用Windows API和/或该文件将服务名称转换为端口的文件。这些服务名称由IETF定义。

这是更改端口以为另一台SMTP服务器腾出空间的说明示例

这是有关服务名称的更多说明:

服务名称[输入]

以NULL终止的字符串,包含要在其上连接IPv4或IPv6的主机的服务名称或目标端口。

服务名称是端口号的字符串别名。例如,“ http”是Internet工程任务组(IETF)定义的端口80的别名,它是Web服务器用于HTTP协议的默认端口。以下文件中列出了未指定端口号时servicename参数的可能值: %WINDIR%\system32\drivers\etc\services

MSDN-Winsock-WSAConnectByName函数


2
具体来说,服务文件支持将[getservbyname](http://msdn.microsoft.com/en-us/library/windows/desktop/ms738538(v=vs.85).aspx)服务名转换为套接字号的API。
理查德(Richard)

@Richard:也许,但是没有提及services
Tamara Wijsman 2012年

这是Windows Socket概念吗?抱歉,我在这里不熟悉... Windows Socket是低于HTTP,TCP / IP,FTP的协议,以便Windows Socket级别完成的定义可以调节HTTP,TCP / IP或FTP级别的行为吗?
athos 2012年

@athos:不,这不是协议。Windows服务的只是第一个服务名称(例如,转换http)为服务端口(例如80用于http),然后提供服务端口的相关协议(TCP / IP)。
Tamara Wijsman 2012年

4
旁注:该文件的命名,使用和格式来自Unix,而该文件为/etc/services。当Microsoft开始用变得越来越重要的开源TCP / IP协议替换其专有的网络协议Netbeui时,Microsoft就采用了此方法。参见kuro5hin.org/story/2001/6/19/05641/7357
RedGrittyBrick 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.