Para que serve o arquivo \ etc \ services de drivers do Windows?

8

Normalmente, há um arquivo "services" em C: \ Windows \ System32 \ drivers \ etc, que lista os serviços em execução e a porta a ser usada.

No entanto, o que a palavra "serviço" significa aqui? Não é o "Serviço do Windows", que pode ser visto quando você executa o "services.msc". Essas 2 listas não contam.

E esse conteúdo do arquivo de "serviços" pode estar desatualizado - ninguém pode atualizá-lo: os programas ainda podem se comunicar através de alguma porta sem atualizar o arquivo de "serviços", se houver algum acordo; Além disso, se algum programa não estiver em execução, alguma porta não for utilizada, o "arquivo de serviços do Windows" também não será atualizado.

Então, para que serve esse arquivo?

Em qualquer lugar eu poderia encontrar alguns documentos? Talvez por causa do nome popular do arquivo, procurei na Internet, mas a maioria dos links são sobre "Windows Services" ... não esse "Windows Services File" ...

EDITAR:

Mais uma pergunta, como o arquivo "services" pode estar desatualizado, existe uma maneira de listar todos os "serviços" ativos?

athos
fonte

Respostas:

7

Este arquivo informa aos serviços escritos pela Microsoft qual porta usar, bem como os arquivos que desejam usar APIs do Windows e / ou esse arquivo para transformar um nome de serviço em uma porta. Esses nomes de serviço são definidos pelo IETF.

Aqui está um exemplo de instruções para alterar uma porta para liberar espaço para outro servidor SMTP.

E aqui está mais explicação sobre os nomes dos serviços:

nome do serviço [no]

Uma sequência terminada em NULL que contém o nome do serviço ou a porta de destino do host no qual se conectar para IPv4 ou IPv6.

Um nome de serviço é um alias de seqüência de caracteres para um número de porta. Por exemplo, "http" é um alias para a porta 80 definida pela Internet Engineering Task Force (IETF) como a porta padrão usada pelos servidores da web para o protocolo HTTP. Os possíveis valores para o parâmetro servicename quando um número de porta não é especificado estão listados no seguinte arquivo: %WINDIR%\system32\drivers\etc\services

- MSDN - Winsock - função WSAConnectByName

Tamara Wijsman
fonte
2
Especificamente, o arquivo de serviços faz backup da [getservbyname](http://msdn.microsoft.com/en-us/library/windows/desktop/ms738538(v=vs.85).aspx)API, que traduz um nome de serviço em um número de soquete.
Richard
@ Richard: Talvez, mas não menciona services.
Tamara Wijsman
então esse é um conceito do Windows Socket? desculpe, eu não estou familiarizado aqui ... é que o Windows Socket é um protocolo menor que HTTP, TCP / IP, FTP, para que a definição feita no nível do Windows Socket possa regular o comportamento no nível HTTP, TCP / IP ou FTP?
athos
@ athos: Não, não há protocolo. Os serviços do Windows apenas convertem o nome do serviço (por exemplo http) na porta de serviço (por exemplo, 80para http) e depois fornecem essa porta de serviço ao protocolo relevante (TCP / IP).
Tamara Wijsman
4
Nota: A nomeação, uso e formato deste arquivo vem do Unix, onde está o arquivo /etc/services. A Microsoft adotou isso quando começaram a substituir seu protocolo de rede proprietário Netbeui pelos protocolos de código aberto TCP / IP que estavam se tornando mais importantes. Veja kuro5hin.org/story/2001/6/19/05641/7357
RedGrittyBrick 20/12/12